{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 读取数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'/root/first_env/bin/python'"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import sys\n",
    "\n",
    "sys.executable"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['.ipynb_checkpoints',\n",
       " '1. Titanic数据预处理.ipynb',\n",
       " 'gender_submission.csv',\n",
       " 'train.csv',\n",
       " '.git',\n",
       " 'test.csv',\n",
       " 'README.md']"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import os\n",
    "\n",
    "os.listdir()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [],
   "source": [
    "train = pd.read_csv('train.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "test = pd.read_csv('test.csv')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 处理数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5 21171</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17599</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>STON/O2. 3101282</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113803</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>C123</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>373450</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Survived  Pclass  \\\n",
       "0            1         0       3   \n",
       "1            2         1       1   \n",
       "2            3         1       3   \n",
       "3            4         1       1   \n",
       "4            5         0       3   \n",
       "\n",
       "                                                Name     Sex   Age  SibSp  \\\n",
       "0                            Braund, Mr. Owen Harris    male  22.0      1   \n",
       "1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   \n",
       "2                             Heikkinen, Miss. Laina  female  26.0      0   \n",
       "3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   \n",
       "4                           Allen, Mr. William Henry    male  35.0      0   \n",
       "\n",
       "   Parch            Ticket     Fare Cabin Embarked  \n",
       "0      0         A/5 21171   7.2500   NaN        S  \n",
       "1      0          PC 17599  71.2833   C85        C  \n",
       "2      0  STON/O2. 3101282   7.9250   NaN        S  \n",
       "3      0            113803  53.1000  C123        S  \n",
       "4      0            373450   8.0500   NaN        S  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 12 columns):\n",
      " #   Column       Non-Null Count  Dtype  \n",
      "---  ------       --------------  -----  \n",
      " 0   PassengerId  891 non-null    int64  \n",
      " 1   Survived     891 non-null    int64  \n",
      " 2   Pclass       891 non-null    int64  \n",
      " 3   Name         891 non-null    object \n",
      " 4   Sex          891 non-null    object \n",
      " 5   Age          714 non-null    float64\n",
      " 6   SibSp        891 non-null    int64  \n",
      " 7   Parch        891 non-null    int64  \n",
      " 8   Ticket       891 non-null    object \n",
      " 9   Fare         891 non-null    float64\n",
      " 10  Cabin        204 non-null    object \n",
      " 11  Embarked     889 non-null    object \n",
      "dtypes: float64(2), int64(5), object(5)\n",
      "memory usage: 83.7+ KB\n"
     ]
    }
   ],
   "source": [
    "train.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "PassengerId    0.000000\n",
       "Survived       0.000000\n",
       "Pclass         0.000000\n",
       "Name           0.000000\n",
       "Sex            0.000000\n",
       "Age            0.198653\n",
       "SibSp          0.000000\n",
       "Parch          0.000000\n",
       "Ticket         0.000000\n",
       "Fare           0.000000\n",
       "Cabin          0.771044\n",
       "Embarked       0.002245\n",
       "dtype: float64"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.isnull().mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [],
   "source": [
    "train1 = train.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 删除并填补缺失值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [],
   "source": [
    "train1['Age'].fillna(train['Age'].median(), inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train1['Age'].isnull().any()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [],
   "source": [
    "train1['Embarked'].fillna(train['Embarked'].mode()[0], inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [],
   "source": [
    "drop_colums = ['PassengerId', 'Cabin', 'Ticket']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [],
   "source": [
    "train1.drop(drop_colums, axis='columns', inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived  Pclass                                               Name  \\\n",
       "0         0       3                            Braund, Mr. Owen Harris   \n",
       "1         1       1  Cumings, Mrs. John Bradley (Florence Briggs Th...   \n",
       "2         1       3                             Heikkinen, Miss. Laina   \n",
       "3         1       1       Futrelle, Mrs. Jacques Heath (Lily May Peel)   \n",
       "4         0       3                           Allen, Mr. William Henry   \n",
       "\n",
       "      Sex   Age  SibSp  Parch     Fare Embarked  \n",
       "0    male  22.0      1      0   7.2500        S  \n",
       "1  female  38.0      1      0  71.2833        C  \n",
       "2  female  26.0      0      0   7.9250        S  \n",
       "3  female  35.0      1      0  53.1000        S  \n",
       "4    male  35.0      0      0   8.0500        S  "
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train1.head(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 创建新的特征"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从名字中提取特征"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [],
   "source": [
    "import re\n",
    "r = re.compile(', (\\w+).')\n",
    "train1['Name'] = train1['Name'].apply(lambda x: r.findall(x)[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Mr</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Mrs</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Miss</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Mrs</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Mr</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived  Pclass  Name     Sex   Age  SibSp  Parch     Fare Embarked\n",
       "0         0       3    Mr    male  22.0      1      0   7.2500        S\n",
       "1         1       1   Mrs  female  38.0      1      0  71.2833        C\n",
       "2         1       3  Miss  female  26.0      0      0   7.9250        S\n",
       "3         1       1   Mrs  female  35.0      1      0  53.1000        S\n",
       "4         0       3    Mr    male  35.0      0      0   8.0500        S"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train1.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "metadata": {},
   "outputs": [],
   "source": [
    "d = dict(train1['Name'].value_counts() < 10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'Mr': False,\n",
       " 'Miss': False,\n",
       " 'Mrs': False,\n",
       " 'Master': False,\n",
       " 'Dr': True,\n",
       " 'Rev': True,\n",
       " 'Col': True,\n",
       " 'Mlle': True,\n",
       " 'Major': True,\n",
       " 'Capt': True,\n",
       " 'Ms': True,\n",
       " 'Mme': True,\n",
       " 'Don': True,\n",
       " 'the': True,\n",
       " 'Sir': True,\n",
       " 'Jonkheer': True,\n",
       " 'Lady': True}"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "d"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [],
   "source": [
    "min_num = 10\n",
    "train1['Name'] = train1['Name'].apply(lambda x: 'Misc' if d[x] else x)\n",
    "# labmda x 后面是返回的对象，每次传x进去，返回对象"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Mr        517\n",
       "Miss      182\n",
       "Mrs       125\n",
       "Master     40\n",
       "Misc       27\n",
       "Name: Name, dtype: int64"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train1['Name'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Mr</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Mrs</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Miss</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Mrs</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Mr</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived  Pclass  Name     Sex   Age  SibSp  Parch     Fare Embarked\n",
       "0         0       3    Mr    male  22.0      1      0   7.2500        S\n",
       "1         1       1   Mrs  female  38.0      1      0  71.2833        C\n",
       "2         1       3  Miss  female  26.0      0      0   7.9250        S\n",
       "3         1       1   Mrs  female  35.0      1      0  53.1000        S\n",
       "4         0       3    Mr    male  35.0      0      0   8.0500        S"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train1.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "创建特征，家庭成员大小，和是否独自一人"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [],
   "source": [
    "train1['Family_size'] = train1['SibSp'] + train1['Parch']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0     537\n",
       "1     161\n",
       "2     102\n",
       "3      29\n",
       "5      22\n",
       "4      15\n",
       "6      12\n",
       "10      7\n",
       "7       6\n",
       "Name: Family_size, dtype: int64"
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train1['Family_size'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "metadata": {},
   "outputs": [],
   "source": [
    "train1['IsAlone'] = train1['Family_size'].apply(lambda x: False if x else True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True     537\n",
       "False    354\n",
       "Name: IsAlone, dtype: int64"
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train1['IsAlone'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Family_size</th>\n",
       "      <th>IsAlone</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Mr</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>S</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Mrs</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Miss</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>S</td>\n",
       "      <td>0</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Mrs</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>S</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Mr</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>S</td>\n",
       "      <td>0</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived  Pclass  Name     Sex   Age  SibSp  Parch     Fare Embarked  \\\n",
       "0         0       3    Mr    male  22.0      1      0   7.2500        S   \n",
       "1         1       1   Mrs  female  38.0      1      0  71.2833        C   \n",
       "2         1       3  Miss  female  26.0      0      0   7.9250        S   \n",
       "3         1       1   Mrs  female  35.0      1      0  53.1000        S   \n",
       "4         0       3    Mr    male  35.0      0      0   8.0500        S   \n",
       "\n",
       "   Family_size  IsAlone  \n",
       "0            1    False  \n",
       "1            1    False  \n",
       "2            0     True  \n",
       "3            1    False  \n",
       "4            0     True  "
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train1.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "将Age和Fare进行分类，区间分类"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "加astype和不加有什么区别吗"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "CategoricalDtype(categories=[(-0.08, 16.0], (16.0, 32.0], (32.0, 48.0], (48.0, 64.0], (64.0, 80.0]],\n",
       "              ordered=True)"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# train1['Age']\n",
    "pd.cut(train1['Age'].astype(int), 5).dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0      (16.0, 32.0]\n",
       "1      (32.0, 48.0]\n",
       "2      (16.0, 32.0]\n",
       "3      (32.0, 48.0]\n",
       "4      (32.0, 48.0]\n",
       "           ...     \n",
       "886    (16.0, 32.0]\n",
       "887    (16.0, 32.0]\n",
       "888    (16.0, 32.0]\n",
       "889    (16.0, 32.0]\n",
       "890    (16.0, 32.0]\n",
       "Name: Age, Length: 891, dtype: category\n",
       "Categories (5, interval[float64]): [(-0.08, 16.0] < (16.0, 32.0] < (32.0, 48.0] < (48.0, 64.0] < (64.0, 80.0]]"
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.cut(train1['Age'].astype(int), 5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0      (16.336, 32.252]\n",
       "1      (32.252, 48.168]\n",
       "2      (16.336, 32.252]\n",
       "3      (32.252, 48.168]\n",
       "4      (32.252, 48.168]\n",
       "             ...       \n",
       "886    (16.336, 32.252]\n",
       "887    (16.336, 32.252]\n",
       "888    (16.336, 32.252]\n",
       "889    (16.336, 32.252]\n",
       "890    (16.336, 32.252]\n",
       "Name: Age, Length: 891, dtype: category\n",
       "Categories (5, interval[float64]): [(0.34, 16.336] < (16.336, 32.252] < (32.252, 48.168] < (48.168, 64.084] < (64.084, 80.0]]"
      ]
     },
     "execution_count": 116,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.cut(train1['Age'], 5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [],
   "source": [
    "train1['New_age'] = pd.cut(train1['Age'].astype(int), 5)"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "对fare进行分区间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {},
   "outputs": [],
   "source": [
    "train1['New_Fare'] = pd.qcut(train1['Fare'], 4)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用one hot编码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [],
   "source": [
    "train1 = pd.get_dummies(train1, columns=['Name', 'Sex', 'Embarked'], prefix=['Name', 'Sex', 'Embarked'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [],
   "source": [
    "train.drop(columns=['Ticket', 'Cabin', 'PassengerId'], axis='columns', inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**为了按照教程来操作，又进行了一次编码**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived  Pclass                                               Name  \\\n",
       "0         0       3                            Braund, Mr. Owen Harris   \n",
       "1         1       1  Cumings, Mrs. John Bradley (Florence Briggs Th...   \n",
       "2         1       3                             Heikkinen, Miss. Laina   \n",
       "3         1       1       Futrelle, Mrs. Jacques Heath (Lily May Peel)   \n",
       "4         0       3                           Allen, Mr. William Henry   \n",
       "\n",
       "      Sex   Age  SibSp  Parch     Fare Embarked  \n",
       "0    male  22.0      1      0   7.2500        S  \n",
       "1  female  38.0      1      0  71.2833        C  \n",
       "2  female  26.0      0      0   7.9250        S  \n",
       "3  female  35.0      1      0  53.1000        S  \n",
       "4    male  35.0      0      0   8.0500        S  "
      ]
     },
     "execution_count": 133,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {},
   "outputs": [],
   "source": [
    "train['New_name'] = train['Name'].str.extract(', (\\w+).')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [],
   "source": [
    "res = train['New_name'].value_counts() < 10"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Mr          False\n",
       "Miss        False\n",
       "Mrs         False\n",
       "Master      False\n",
       "Dr           True\n",
       "Rev          True\n",
       "Col          True\n",
       "Mlle         True\n",
       "Major        True\n",
       "Capt         True\n",
       "Ms           True\n",
       "Mme          True\n",
       "Don          True\n",
       "the          True\n",
       "Sir          True\n",
       "Jonkheer     True\n",
       "Lady         True\n",
       "Name: New_name, dtype: bool"
      ]
     },
     "execution_count": 138,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "res"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {},
   "outputs": [],
   "source": [
    "min_count = 10\n",
    "\n",
    "train['New_name'] = train['New_name'].apply(lambda x:'Misc' if res[x] else x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Mr        517\n",
       "Miss      182\n",
       "Mrs       125\n",
       "Master     40\n",
       "Misc       27\n",
       "Name: New_name, dtype: int64"
      ]
     },
     "execution_count": 140,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train['New_name'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {},
   "outputs": [],
   "source": [
    "train['Family_size'] = train['SibSp'] + train['Parch']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [],
   "source": [
    "train['IsAlone'] = train['Family_size'].apply(lambda x:0 if x else 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Survived       0.000000\n",
       "Pclass         0.000000\n",
       "Name           0.000000\n",
       "Sex            0.000000\n",
       "Age            0.198653\n",
       "SibSp          0.000000\n",
       "Parch          0.000000\n",
       "Fare           0.000000\n",
       "Embarked       0.002245\n",
       "New_name       0.000000\n",
       "Family_size    0.000000\n",
       "IsAlone        0.000000\n",
       "dtype: float64"
      ]
     },
     "execution_count": 144,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.isnull().mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [],
   "source": [
    "train['Age'].fillna(train['Age'].median(), inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [],
   "source": [
    "train['Embarked'].fillna(train['Embarked'].mode()[0], inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Survived       0.0\n",
       "Pclass         0.0\n",
       "Name           0.0\n",
       "Sex            0.0\n",
       "Age            0.0\n",
       "SibSp          0.0\n",
       "Parch          0.0\n",
       "Fare           0.0\n",
       "Embarked       0.0\n",
       "New_name       0.0\n",
       "Family_size    0.0\n",
       "IsAlone        0.0\n",
       "dtype: float64"
      ]
     },
     "execution_count": 148,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.isnull().mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [],
   "source": [
    "train['Agebin'] = pd.cut(train['Age'].astype(int), 5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 160,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(16.0, 32.0]     525\n",
       "(32.0, 48.0]     186\n",
       "(-0.08, 16.0]    100\n",
       "(48.0, 64.0]      69\n",
       "(64.0, 80.0]      11\n",
       "Name: Agebin, dtype: int64"
      ]
     },
     "execution_count": 160,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train['Agebin'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {},
   "outputs": [],
   "source": [
    "train['Farebin'] = pd.qcut(train['Fare'], 4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {},
   "outputs": [],
   "source": [
    "train['Family_size'] += 1 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "metadata": {},
   "outputs": [],
   "source": [
    "train['IsAlone'] = train['Family_size'].apply(lambda x : 1 if x <= 1 else 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 165,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>New_name</th>\n",
       "      <th>Family_size</th>\n",
       "      <th>IsAlone</th>\n",
       "      <th>Agebin</th>\n",
       "      <th>Farebin</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>S</td>\n",
       "      <td>Mr</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>(16.0, 32.0]</td>\n",
       "      <td>(-0.001, 7.91]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C</td>\n",
       "      <td>Mrs</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>(32.0, 48.0]</td>\n",
       "      <td>(31.0, 512.329]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>S</td>\n",
       "      <td>Miss</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>(16.0, 32.0]</td>\n",
       "      <td>(7.91, 14.454]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>S</td>\n",
       "      <td>Mrs</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>(32.0, 48.0]</td>\n",
       "      <td>(31.0, 512.329]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>S</td>\n",
       "      <td>Mr</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>(32.0, 48.0]</td>\n",
       "      <td>(7.91, 14.454]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived  Pclass                                               Name  \\\n",
       "0         0       3                            Braund, Mr. Owen Harris   \n",
       "1         1       1  Cumings, Mrs. John Bradley (Florence Briggs Th...   \n",
       "2         1       3                             Heikkinen, Miss. Laina   \n",
       "3         1       1       Futrelle, Mrs. Jacques Heath (Lily May Peel)   \n",
       "4         0       3                           Allen, Mr. William Henry   \n",
       "\n",
       "      Sex   Age  SibSp  Parch     Fare Embarked New_name  Family_size  \\\n",
       "0    male  22.0      1      0   7.2500        S       Mr            2   \n",
       "1  female  38.0      1      0  71.2833        C      Mrs            2   \n",
       "2  female  26.0      0      0   7.9250        S     Miss            1   \n",
       "3  female  35.0      1      0  53.1000        S      Mrs            2   \n",
       "4    male  35.0      0      0   8.0500        S       Mr            1   \n",
       "\n",
       "   IsAlone        Agebin          Farebin  \n",
       "0        0  (16.0, 32.0]   (-0.001, 7.91]  \n",
       "1        0  (32.0, 48.0]  (31.0, 512.329]  \n",
       "2        1  (16.0, 32.0]   (7.91, 14.454]  \n",
       "3        0  (32.0, 48.0]  (31.0, 512.329]  \n",
       "4        1  (32.0, 48.0]   (7.91, 14.454]  "
      ]
     },
     "execution_count": 165,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**处理完成的train数据如上**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 开始准备编码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import LabelEncoder\n",
    "\n",
    "coder = LabelEncoder()\n",
    "train['Sex_code'] = coder.fit_transform(train['Sex'])\n",
    "train['Embarked_code'] = coder.fit_transform(train['Embarked'])\n",
    "train['Name_code'] = coder.fit_transform(train['New_name'])\n",
    "train['Agebin_code'] = coder.fit_transform(train['Agebin'])\n",
    "train['Farebin_code'] = coder.fit_transform(train['Farebin'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 168,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>New_name</th>\n",
       "      <th>Family_size</th>\n",
       "      <th>IsAlone</th>\n",
       "      <th>Agebin</th>\n",
       "      <th>Farebin</th>\n",
       "      <th>Sex_code</th>\n",
       "      <th>Embarked_code</th>\n",
       "      <th>Name_code</th>\n",
       "      <th>Agebin_code</th>\n",
       "      <th>Farebin_code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>S</td>\n",
       "      <td>Mr</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>(16.0, 32.0]</td>\n",
       "      <td>(-0.001, 7.91]</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C</td>\n",
       "      <td>Mrs</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>(32.0, 48.0]</td>\n",
       "      <td>(31.0, 512.329]</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>S</td>\n",
       "      <td>Miss</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>(16.0, 32.0]</td>\n",
       "      <td>(7.91, 14.454]</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>S</td>\n",
       "      <td>Mrs</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>(32.0, 48.0]</td>\n",
       "      <td>(31.0, 512.329]</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>S</td>\n",
       "      <td>Mr</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>(32.0, 48.0]</td>\n",
       "      <td>(7.91, 14.454]</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived  Pclass                                               Name  \\\n",
       "0         0       3                            Braund, Mr. Owen Harris   \n",
       "1         1       1  Cumings, Mrs. John Bradley (Florence Briggs Th...   \n",
       "2         1       3                             Heikkinen, Miss. Laina   \n",
       "3         1       1       Futrelle, Mrs. Jacques Heath (Lily May Peel)   \n",
       "4         0       3                           Allen, Mr. William Henry   \n",
       "\n",
       "      Sex   Age  SibSp  Parch     Fare Embarked New_name  Family_size  \\\n",
       "0    male  22.0      1      0   7.2500        S       Mr            2   \n",
       "1  female  38.0      1      0  71.2833        C      Mrs            2   \n",
       "2  female  26.0      0      0   7.9250        S     Miss            1   \n",
       "3  female  35.0      1      0  53.1000        S      Mrs            2   \n",
       "4    male  35.0      0      0   8.0500        S       Mr            1   \n",
       "\n",
       "   IsAlone        Agebin          Farebin  Sex_code  Embarked_code  Name_code  \\\n",
       "0        0  (16.0, 32.0]   (-0.001, 7.91]         1              2          3   \n",
       "1        0  (32.0, 48.0]  (31.0, 512.329]         0              0          4   \n",
       "2        1  (16.0, 32.0]   (7.91, 14.454]         0              2          2   \n",
       "3        0  (32.0, 48.0]  (31.0, 512.329]         0              2          4   \n",
       "4        1  (32.0, 48.0]   (7.91, 14.454]         1              2          3   \n",
       "\n",
       "   Agebin_code  Farebin_code  \n",
       "0            1             0  \n",
       "1            2             3  \n",
       "2            1             1  \n",
       "3            2             3  \n",
       "4            2             1  "
      ]
     },
     "execution_count": 168,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 170,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_x = ['Sex', 'Pclass', 'Embarked', \"New_name\", 'SibSp', 'Parch', 'Age', 'Fare', 'Family_size', 'IsAlone']\n",
    "\n",
    "train_x_dummies = pd.get_dummies(train.loc[:, train_x])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**get_dummies只对分类型类别数据转换，也就是categories，其他类别的没变化**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 171,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pclass</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Age</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Family_size</th>\n",
       "      <th>IsAlone</th>\n",
       "      <th>Sex_female</th>\n",
       "      <th>Sex_male</th>\n",
       "      <th>Embarked_C</th>\n",
       "      <th>Embarked_Q</th>\n",
       "      <th>Embarked_S</th>\n",
       "      <th>New_name_Master</th>\n",
       "      <th>New_name_Misc</th>\n",
       "      <th>New_name_Miss</th>\n",
       "      <th>New_name_Mr</th>\n",
       "      <th>New_name_Mrs</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>22.0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>35.0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>35.0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Pclass  SibSp  Parch   Age     Fare  Family_size  IsAlone  Sex_female  \\\n",
       "0       3      1      0  22.0   7.2500            2        0           0   \n",
       "1       1      1      0  38.0  71.2833            2        0           1   \n",
       "2       3      0      0  26.0   7.9250            1        1           1   \n",
       "3       1      1      0  35.0  53.1000            2        0           1   \n",
       "4       3      0      0  35.0   8.0500            1        1           0   \n",
       "\n",
       "   Sex_male  Embarked_C  Embarked_Q  Embarked_S  New_name_Master  \\\n",
       "0         1           0           0           1                0   \n",
       "1         0           1           0           0                0   \n",
       "2         0           0           0           1                0   \n",
       "3         0           0           0           1                0   \n",
       "4         1           0           0           1                0   \n",
       "\n",
       "   New_name_Misc  New_name_Miss  New_name_Mr  New_name_Mrs  \n",
       "0              0              0            1             0  \n",
       "1              0              0            0             1  \n",
       "2              0              1            0             0  \n",
       "3              0              0            0             1  \n",
       "4              0              0            1             0  "
      ]
     },
     "execution_count": 171,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_x_dummies.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 从训练集分离出测试集"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**教程中使用了三种数据进行划分**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 175,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare', 'Embarked', 'New_name', 'Family_size', 'IsAlone', 'Agebin', 'Farebin', 'Sex_code', 'Embarked_code', 'Name_code', 'Agebin_code', 'Farebin_code']\n"
     ]
    }
   ],
   "source": [
    "print(train.columns.to_list())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 179,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['Pclass', 'SibSp', 'Parch', 'Age', 'Fare', 'Family_size', 'IsAlone', 'Sex_female', 'Sex_male', 'Embarked_C', 'Embarked_Q', 'Embarked_S', 'New_name_Master', 'New_name_Misc', 'New_name_Miss', 'New_name_Mr', 'New_name_Mrs']\n"
     ]
    }
   ],
   "source": [
    "print(train_x_dummies.columns.to_list())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 184,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_list = train.columns.to_list()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 187,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sex_female\n",
      "Sex_male\n",
      "Embarked_C\n",
      "Embarked_Q\n",
      "Embarked_S\n",
      "New_name_Master\n",
      "New_name_Misc\n",
      "New_name_Miss\n",
      "New_name_Mr\n",
      "New_name_Mrs\n"
     ]
    }
   ],
   "source": [
    "# 数据1 cacl\n",
    "# 数据2 dummies\n",
    "# 数据3 bin\n",
    "# 数据说明：加了code的，都是将字符串类型，转换成了数字类型，bin数据是将数字变成区间，然后进行分类\n",
    "target = ['Survived']\n",
    "train_x_cal = ['Sex_code', 'Pclass', 'Embarked_code', 'Name_code', 'SibSp', 'Parch', 'Age', 'Fare']\n",
    "train_x_bin = ['Sex_code', 'Pclass', 'Embarked_code', 'Name_code', 'Family_size', 'Agebin', 'Farebin']\n",
    "train_x_dummies_columns = train_x_dummies.columns.to_list()\n",
    "# l = [target, train_x_cal, train_x_bin, train_x_dummies_columns]\n",
    "# for i in l:\n",
    "#     for j in i:\n",
    "#         if j not in train_list:\n",
    "#             print(j)\n",
    "# 查询后知道，dummies后面出现了下面这些列，而train的标签内没有这些，所以后面报错了"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 189,
   "metadata": {},
   "outputs": [],
   "source": [
    "cal_x_train, cal_x_test, cal_y_train, cal_y_test = train_test_split(\n",
    "    train.loc[:, train_x_cal], \n",
    "    train.loc[:, target], \n",
    "    random_state = 0\n",
    ")\n",
    "bin_x_train, bin_x_test, bin_y_train, bin_y_test = train_test_split(\n",
    "    train.loc[:, train_x_bin], \n",
    "    train.loc[:, target], \n",
    "    random_state = 0\n",
    ")\n",
    "\n",
    "# 为了避免报错，对dummies的DF进行划分，标签为train的\n",
    "dummy_x_train, dummy_x_test, dummy_y_train, dummy_y_test = train_test_split(\n",
    "    train_x_dummies.loc[:, train_x_dummies_columns],\n",
    "    train.loc[:, target],\n",
    "    random_state = 0\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 190,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(891, 19)\n",
      "(668, 8)\n",
      "(223, 8)\n"
     ]
    }
   ],
   "source": [
    "print(train.shape)\n",
    "print(cal_x_train.shape)\n",
    "print(cal_x_test.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 分析数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 相关性分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分析数据的相关性，使用pandas中的groupby"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 191,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Sex_code           int64\n",
       "Pclass             int64\n",
       "Embarked_code      int64\n",
       "Name_code          int64\n",
       "SibSp              int64\n",
       "Parch              int64\n",
       "Age              float64\n",
       "Fare             float64\n",
       "dtype: object"
      ]
     },
     "execution_count": 191,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cal_x_train.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 192,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_x = ['Sex', 'Pclass', 'Embarked', \"New_name\", 'SibSp', 'Parch', 'Age', 'Fare', 'Family_size', 'IsAlone']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 193,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Sex             object\n",
       "Pclass           int64\n",
       "Embarked        object\n",
       "New_name        object\n",
       "SibSp            int64\n",
       "Parch            int64\n",
       "Age            float64\n",
       "Fare           float64\n",
       "Family_size      int64\n",
       "IsAlone          int64\n",
       "dtype: object"
      ]
     },
     "execution_count": 193,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.loc[:, train_x].dtypes"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由于Age和Fare两类数据种类比较多，不方便观察他们与生存度的相关性，所以这里先放一放"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "groupby方法请参考书籍《python数据科学手册》\n",
    "\n",
    "train['first column', 'second column'].groupby('second column')\n",
    "\n",
    "意思就是将第一列和第二列数据挑出来，然后按照第二列数据进行分类，groupby核心就是分裂表格，例如有ABC三列，A类别的数据形成一个表格，B类别数据也形成一个表格，groupby返回的是一个对象，没有处理过得，这个对象类似于DF，只不过是分类好的，我们要自己使用内置函数，处理了才会返回DF\n",
    "\n",
    "apply 函数中 如果使用lambda x，则传入的是DF，意味着也可以寻找DF的列索引"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**下面代码的意思，挑出相关的两列，例如按照Sex对生存进行分类，会底层形成一个新的列表，如找出所有男性的，形成一个DF，列只有是否生存**\n",
    "\n",
    "**0.74表示整个女性只有百分之74生存了，例如女性的1，0，1，则求平均就是三分之二**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 210,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "--------------------\n",
      "Sex and Survived 的相关性分析\n",
      "      Sex  Survived\n",
      "0  female  0.742038\n",
      "1    male  0.188908\n",
      "--------------------\n",
      "Pclass and Survived 的相关性分析\n",
      "   Pclass  Survived\n",
      "0       1  0.629630\n",
      "1       2  0.472826\n",
      "2       3  0.242363\n",
      "--------------------\n",
      "Embarked and Survived 的相关性分析\n",
      "  Embarked  Survived\n",
      "0        C  0.553571\n",
      "1        Q  0.389610\n",
      "2        S  0.339009\n",
      "--------------------\n",
      "New_name and Survived 的相关性分析\n",
      "  New_name  Survived\n",
      "0   Master  0.575000\n",
      "1     Misc  0.444444\n",
      "2     Miss  0.697802\n",
      "3       Mr  0.156673\n",
      "4      Mrs  0.792000\n",
      "--------------------\n",
      "SibSp and Survived 的相关性分析\n",
      "   SibSp  Survived\n",
      "0      0  0.345395\n",
      "1      1  0.535885\n",
      "2      2  0.464286\n",
      "3      3  0.250000\n",
      "4      4  0.166667\n",
      "5      5  0.000000\n",
      "6      8  0.000000\n",
      "--------------------\n",
      "Parch and Survived 的相关性分析\n",
      "   Parch  Survived\n",
      "0      0  0.343658\n",
      "1      1  0.550847\n",
      "2      2  0.500000\n",
      "3      3  0.600000\n",
      "4      4  0.000000\n",
      "5      5  0.200000\n",
      "6      6  0.000000\n",
      "--------------------\n",
      "Family_size and Survived 的相关性分析\n",
      "   Family_size  Survived\n",
      "0            1  0.303538\n",
      "1            2  0.552795\n",
      "2            3  0.578431\n",
      "3            4  0.724138\n",
      "4            5  0.200000\n",
      "5            6  0.136364\n",
      "6            7  0.333333\n",
      "7            8  0.000000\n",
      "8           11  0.000000\n",
      "--------------------\n",
      "IsAlone and Survived 的相关性分析\n",
      "   IsAlone  Survived\n",
      "0        0  0.505650\n",
      "1        1  0.303538\n"
     ]
    }
   ],
   "source": [
    "for each in train_x:\n",
    "    if train[each].dtypes != 'float64':\n",
    "        print('-'*20)\n",
    "        print('{} and {} 的相关性分析'.format(each, 'Survived'))\n",
    "        print(train.loc[:, [each, 'Survived']].groupby(each, as_index=False).mean()) \n",
    "# as_index=True就是没有前面的序号，默认是True"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 212,
   "metadata": {},
   "outputs": [],
   "source": [
    "# for each in train_x:\n",
    "#     if train[each].dtypes != 'float64':\n",
    "#         print('-'*20)\n",
    "#         print('{} and {} 的相关性分析'.format(each, 'Survived'))\n",
    "#         print(train.loc[:, [each, 'Survived']].groupby(each).mean())"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgc4SEBB2lr+9I4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIINBWAgLCtuK2MwQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQ6S0BA2Fn+9o4AAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAWwkICNuK284QQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ6CwBAWFn+ds7AggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAm0lICBsK247QwABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQKCzBASEneU/4vf+7//+72nPnj1p48aNafXq1WnFihXZ8qOPPkqffvpp+r//9/+O+HOo+gD37duX4vzffvvt9MILL6S5c+c29Zg3b15atGhRevHFFzOOb731Vtq0aVPatWtX+uyzz6o+TO2NEALRtx9//HHasmVL5szKlSszB5599tm0cOHC9Nxzz6WXX345rVq1Kq1fvz5t3rw58+LDDz9Mu3fv7tnrbIR0n8NAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQS6koCAsCu7tZqTinAwAsAILWbMmJGuueaadNZZZ6WxY8eml156KW3fvj0LL6rZ2+hpJcLBJUuWpNtuuy39/Oc/T1/96lebenzrW99KBx10UPrlL3+Zzj777HTLLbekOXPmpDfffDPt3LkzBW8/3UUg+jQC4LVr16b58+en22+/Pf3xj39MxxxzTDr44IPTgQcemH7yk5+k3/3ud+mqq65KU6dOzcLm8CLC53Xr1vXsddZdJjgbBBBAAAEEEEAAAQQQQAABBBBAAAEEEEBgZBEQEI6s/hhRRxPhYFQJvv766+n6669PRx99dPrmN7+ZfvGLX2SBYVQVfvLJJyPqmNtxMHlAeOutt6bDDz88/e3f/m36whe+kP7iL/4ie8TzeO/LX/5y+spXvpKFh7H8xje+kb773e9mwVAEixEKXXrppemBBx5Iy5cvT1ExFtWJfkY/gQgG49r44IMP0iuvvJKmT5+ebrrppnThhRemMWPGZNfQj3/84/S9730vxfL444/PQuMICa+77rp02WWXpfHjx6fnn38+vf/++z15nY1+C5wBAggggAACCCCAAAIIIIAAAggggAACCCAwcgkICEdu33T8yP7t3/4tG1506dKl6aKLLko//OEP01//9V9nocbEiROzyreojuq1n3yI0aj8i2FDb7755nTkkUdm4WkEqPE83nviiSfS7Nmzi4qwWbNmpUceeaSoIov1oqrw0EMPTRE2RlVihIQqCUe3UdF/Ea5HsBf9H+H6CSeckD2iCnfy5MnZ+wsWLMiqCmOI2nDj3nvvTeeff3466qij0gEHHJAF8lOmTEkxFG0MUeoHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIGqCAgIqyLZhe3kQVjMkRYBYQyJ+L/+1//KhkW88cYbs0Arqul69ScC1JgjLoZbjcqwqAqMRzyP9+KzWCd+8oqymIdu2bJl6f7770+nn356VmH4T//0T+nUU09NkyZNyuaoiznrhISj16q9e/emrVu3ZkOExnC8J554YlYxeNppp6WHH344q8iN4XnDjQgSo9Iw5h1cvHhxVmUY1YRRffqDH/wgG8Y2qktjfT8IIIAAAggggAACCCCAAAIIIIAAAggggAACCFRFQEBYFckubCcCrnfffTerkothD0866aT005/+NKtwuvrqq9NTTz2VDaHYhafe1ClFwBPhTgwhGUNCxrxy8Yjn8V58lgeE0WA8j/AoQtWoCnv00UfTKaeckgWvMVRpBItRRRjVYhES+hl9BCLYjSrQF198MasUjWF5jzjiiGz+zqgSXLNmTTbfZAzdG+vGI/ciQsIVK1Zk4fGvfvWrrBI1gviFCxemCJb9IIAAAggggAACCCCAAAIIIIAAAggggAACCCBQFQEBYVUku7CdHTt2pNdeey0LAu+8884s+IpA6+STT84qCh988MEsQOzVareo/orALyq8rrwMOdT0AAAgAElEQVTyynTcccdlj3ge78VnsU7tT7wXAdEbb7yRVYz9+te/zqrFfvOb36Snn346qz4zF2EttZH/Ovchhp6N4ULPOOOMdMghh6To38cffzxt2LAhG7K30ZlEUBihfFSYXnvttemPf/xjuuGGG9LMmTOz4Uobbed9BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQRaJSAgbJVYD60flVAx7GGEG9OmTUt33XVXFhKeffbZKR4xb16EIRFs9GJImAdCrQaEwSq2fe+999LUqVOzIOjAAw/MhqGcMWPGgEFSDyk4qk41Qt0YWjTmpYzhY2Nu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9E15RAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQyrAABYYY9NTwxBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBKIvQEAYfVMeEQEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIEMK0BAmGFPDU8MAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgegLxHVA+Le//c2++uoru337tn3yySd28OBB2759u23evNm2bdtm+/bts9OnT9vVq1ft3r17ptv//e9/j75ynDyiLG/dumXXr19307t379o333wTJ6/uyV9GsN4+++wzO3/+vB05csR27drl6239+vW2ceNG/++jR4/axYsX3VCmrLmU7eUi0y+//NI+/fRT/wrWXKyY6Xk+ePDArxutiUOHDtmOHTt8TWzdutXfg06dOuXXlN6Dvv3225Qx+C4CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAlEUiOuAUOHLzZs3/UP45ORk69ixo1WqVMlKlChh5cqVs2bNmtno0aNtzZo1Htjo9gokOH4ooKBD4aACrw0bNtiePXvs7NmzpsCG46FAsN4OHDhgs2bNsqSkJKtdu7avt/z581uRIkWsVq1a1rNnT5s3b56vS61PgumUV1AQuCpYW7ZsmX388cce6AchYcr3yjjf1TWjAP3atWt+3cyYMcM6d+5s1apV8zVRpkwZa968uY0cOdLD4wsXLngYGivhZ8aR5pkggAACCCCAAAIIIIAAAggggAACCCCAAAIIpFcgLgNCtXDUOlKwoNbWlClTrGvXrlanTh179913rVixYvbee+95WKMP7D/44AMPCU+cOOGtLn2on4gf0us1B6HMF1984RYKsNTeUtNSweCIESNsyJAhtnjxYm9Dff755+ldc3F3e60XeWm9qaE6f/58D30USNeoUcPDoHz58tnbb79tZcuWtYYNG1q3bt1MobXaZJcvX/YGayKuOS2GYM3pmtV60ppTqKbWr1q+Wmt9+/a1YcOGeTCt23z99dcZdh0F15GCTK2JLVu22OTJk/2c169f3385Qe9BpUqV8gBZ70Fjx4615cuXW/AelJFfX4aF54khgAACCCCAAAIIIIAAAggggAACCCCAAAIIpFkgLgNCBQ3nzp3zD9w7dOjgwaD+VMCg8Gb16tW2atUqmzt3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AAEEEEAAAQQQQAABBBBAAIEYFyAgjPETyNNHAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAID0CBITp0eK2CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCMS4AAFhjJ9Anj4CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC6REgIEyPFrdFAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIMYFCAhj/ATy9BFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBIjwABYXq0uC0CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACMS5AQBjjJ5CnjwACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEB6BAgI06PFbRFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBCIcQECwhg/gTx9BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBNIjELcB4d///nd78OCB3b592y5evGhHjx61Xbt22caNG23dunX+57Zt22zfvn128uRJu3Llin3xxRf2zTffpMcvLm/7t7/9zb766iv77LPP7Pz583bkyBG327x5s61fv942bNhgstu/f7+dOnXKPv30U7t7967byZ0jZQG5fv3113br1i07ceKEHTt2zNddYJfyveLnu3r9uiavX7/ua0prSGtJ1+SOHTv8Gr1x44avPd029NDa0vflpXV58OBB27Jli61du/axr507d/o1/7RdIz0fvaZPPvnEryOd93CHrjWtiTNnztj27dsfey16bVu3bv1+rdy/fz/cw/B9BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQTSLBCXAaE+uFfQpyBi7969NnfuXOvZs6fVqlXLihQpYnnz5rVChQpZ+fLlrUWLFjZs2DBbuXKlhzZ37tyxRA+5FFjcvHnTDhw4YLNmzbKkpCSrXbu2lShRwvLnz28FCxa0ChUqWKtWrWzEiBG2bNkyO336NAFrhMtOIZFCVwXVgwYNsj59+tiKFSs8GFKYFe+HwsGrV696KNi9e3e//rSWdC1WqVLFevfu7WFYEBKGegQBq9bazJkzrX379laqVCl74403HvuqWbOmzZs376m7Rno+VatWtcmTJ3uQrvMe7lA4qDUxbtw4q1y58mOvRa+t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rj/++KMdPXrUMjIybMuWLb7mArvcHxXe32otyez06dO+xhJxnekYzp075+dc19KmTZtsxYoVfi0tXbrU1q1b59dQVlaWvx/9/PPP4T3hHDkCCCCAAAIIIIAAAggggAACCCCAAAIIIIDAJRMIZUAYBA979uyxadOm2ZAhQ2zYsGE2e/ZsD2wumX4B/UMKB48cOWIbNmywL7/80tq1a2evvPKKVahQwUqWLGmlS5e2mjVrWosWLaxv3742a9Ys2759u508edJDwgJ6WP/zl6VwUKGrwtbu3btbx44dbc6cOR5QKyRkyy4QBNUK1rTGZs6c6essUQJVvc8oND906JCf8zFjxlibNm2sbt26fi1Vq1bNmjdvbv369bNFixZZZmamh6F6HBsCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAhdTIJQBoYKaH374wSt5PvnkE2vYsKG99957Nnz4cPv+++8vpneBfu4gwFI1paqbUlJSrE+fPtaqVSt76aWX7LnnnrOnnnrKQ8LKlStbvXr17M0337SuXbvalClTvKLw8OHDVBLmcpYV+pw4ccK+++47Gz16tFWvXt2qVq1qQ4cOtY0bN3pwmMvDQvGrIAhUpaCuS4XTCtV0LarCbvr06dapUyfr3bu3rVmzxvfRWi2oW/APCAoyFW4uWbLE31s++ugjf6+pUaOGlStXzipVquTBu0LDQYMG+T8oqLL02LFjXmlaUI+P14UAAggggAACCCCAAAIIIIAAAggggAACCCCQ+AKhDAhV6bZ161YbO3as6cN6hV6NGzcOdUCoUEPBhNqGKhjs0KGDffzxxzZq1Civ3po/f763Fk1NTfWqt6DysmXLlvbaa69Zs2bNPExUoKMgTJVTbL8JBIHR3r17bcaMGR5G33vvvVasWDHr379/6ANCVayq7arCtM2bN3twr3WmijsF+I0aNbIXX3zRWrdu7cG1QsSCHBAGrWR37drlwXnnzp3tjTfe8GpBBYFTp061efPm+XU0ceJEr8LV9fPOO+/YuHHjvHJXlaZsCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAghcLIFQBYQKajTjS3MH586dax9++KE98MADdtddd3klT1grCBVoaE6a2oSOHz/ePv30U3v77bf969dff+2VXApVZad9NadRFV7Lly/3UFDhapUqVTzImTRp0h/tRi/Wok2051VYqmqytWvXerWlWrVec801VqRIEa+KC3sFoWaBqr2mwmVdl1qDn3/+uaniTuvqscce8xC/adOm3oqzoAeEupYOHjzogbpC9vr16/tN32uGp2YpqlpSQbpmeCowfOutt/7YR8evuagKTnW9sSGAAAIIIIAAAggggAACCCCAAAIIIIAAAgggEG+BUAWECrj0wbxm6/Xs2dNbPN544412yy23eLvMsAaECiLUGlRz0N5//32vptRcNFU5qc2jzBRyKWANQlaFIAo6Vq5c6TMcVeGlmWpqBam5egcOHPB9471gE/H55KdqssmTJ1udOnWscOHCdvnllxMQ/n4yFT6rtaaqBlWxqmtTIXWTJk3sySeftKJFi3pImCgBoaohNWdy4MCBfk0oEFZF7ldffeXXkwJ2vRfpmtKxp6en28iRI/3aU5ioSkldi2q1qmuTDQEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBeAuEKiBUUKM2hqpS0tyvZ5991sPBO+64I9QVhAopVMmkyiUFWLVr1/b2q5qXpyqnSJtCwqysLFOVoVooai6hQhxVf+n5FIIoUAzrFoSpqiZbvHixt5JUS9vbb7/drrjiCgLC3xeGqis191IVqaqmU1imNaSKO62p4sWLe1BY0APC4HwrVJ8wYYK9++67VqpUKQ8JNXdSIaiutZybwnnNKezbt6+3PNb1p/aqW7ZsyfP6y/k8/IwAAggggAACCCCAAAIIIIAAAggggAACCCCAQH4FQhMQ6sN7tcVUZY4qBdu1a+ehoCqUnn766VDPIFSl0rJly7xdaMWKFe3555/3sFBtDhXeRNqCisw1a9ZY+/bt7aWXXvKbqqXUTlOtI7VPWDcdu6rFFPQo8FIorZmNqrS87rrrCAh/XxhBC1atQ81pVMCmtae5l1pXCq3Lly/v4bOu34LaYjS4HrT2O3bsaHXr1vUWqWrXq9aikSoCcwb0CkVVQTl79myv0g1zyB7W9w6OGwEEEEAAAQQQQAABBBBAAAEEEEAAAQQQuNgCoQgIg6Bm69atXpnTo0cPUwtNVSgpDNMH8m+++aYHhwonwrapwk1VgApjnnjiCStTpox99tln3or1+PHjEasAg4opVRr279/fXn/9dfd85513bOnSpV4tpfAnrJvCQbVhTUtLs27dunlA2Lt3b5/veOuttxIQ5rEwtLZUVTh06FBr3ry5B20FvYJQFbX6JwRVKL/22mteoayWob169bLNmzdHnCkYtPgNKnErVarkYeiQIUNM71lBe988uLgLAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIGYBEIREAYf3Cu0Ujio6p4pU6bYF1984VWEVapUCXVAqHmBCjXatm1rd999t/3nP//x9ogzZszwiq5ffvklz5BQ1V6qkGvWrJlXxylsVShWUCu9YrpC/sLOmkWnGY0TJ0706sw+ffp4ZabW35133klAGMVWAaGqfbWeqlatWuArCFUJqEBvxIgRHrI//PDD9tZbb3m7Uc2gjHQdBRWUWisffvihaZ6n2ox+8skntnr1ap8BGuZK3CjLhLsRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE/oRA0geEqkRSULN+/XoPBRUQqtpNYaFa+Gl2nsKHMFcQao7gwoULve3qPffcY4UKFbJXX33VZ8Ep/FM4EanN4YWVXjLUjL0WLVr4zD3NLwxjBaGCIFWFKeCaNGmSV2OOGjXKv1eVmKoIixQpQkAY5Q1L1byJFBCqhajmKHbp0sXuv/9+u/fee71KWa1SVVkYadN6+fHHHy09Pd3/gUFVh88995y3PU5NTY3YmjTS8/F7BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQSiCSR1QKjwSgGVgoYJEybYwIEDbfTo0TZv3jxTW0x9cN+kSZPQB4RqI6oAVT4lS5a0okWLemVltBaH8lW4sW3bNhs8eLC3gtS8OM3aW7Fihc8vDGNAqHBQYZEqwlQ12L17d2/hum7dOp/1SEAY7W3pt/sTLSDct2+fTZ8+3dRiVwHwgw8+aD179jTN6Dx27FjEg855HTVo0MBb/ar9cUpKiu3evdurCCM+AXcggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBCjQFIHhApqVD2oD+gHDBjglVuq4NqyZYu3zly0aJG3LQx7BeHp06c9hJgzZ461bt3aqypVBTVt2jTLzMyMWEEYVMpt2rTJZ+w1atTIGjZs6BVUGzZsMLV21T5h2hT2KHDVzDm1aFXF6qBBg2zjxo22Z88eW7t2LRWE+VwQiRQQ6rzr9apSVNeAWvVqnqda7+r9RtW00TYFgWPHjvV/WlAFYqlSpbyCUv/MkJ/HR3t+7kcAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIBBI6oBQM/DUtm/WrFnWr18/Gzp0qAc1qu46fPiwERD+tgzUQlQhoWYRKshSoKpQQhVRZ86cidheVG0RFYYtXrzYq6Y0O+3tt9+2YcOG2fbt2yPOXAsWX7J9DSrBFKpqxqUqMFWx+s0337il1pwqNakgzN+ZT5SAUOdd11BGRoZX4apFqOYPVqxY0QM/tZo9depU1IMOKhBbtmzpMyofeOABf9/SNanrjA0BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgXgJJGVAqA/s1dpy79693k5UIc2IESPsq6++8t+psk0fuBMQ/rVlFFQeTp061WcWqiVip06dfLajwsawbVpzqvRSoKPKMYXSame7detWO3nypK853UdAmL+VkSgB4YUzBNVSVG12VT1Yq1Yt07Wh9yEF7dE2XTNz5861Vq1a+RzQO++80zp37uytalUJzYYAAggggAACCCCAAAIIIIAAAggggAACCCCAQLwEkjIgVFCjQEZtHlU12L9/f58Bp6BGAY5ajxIQ/vUlpNBi1apVPn9Q1YN169a1MWPG5Lul4l9/BQXrGVQlpsrJ1NRUbyuqSkoFgqpkDaotCQjzf84SKSDUe4rObdeuXa127dpWunRp0yxBBcSqHNX90bacAWHhwoXtgw8+8Fmphw4divZw7kcAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIN8CSRkQKqhRW7/58+f77MGgtWgQ1Cis0fdUEOZ7nWTbMaiYkvHEiROtffv2Pnetbdu2lpaWZmrhmp9AJNuTJvAPQYtJBTwLFy608ePH28iRI/+oWJWX9lEoTUCY/xOdSAGhqpI1d1MVf6ocLFu2rDVu3NgWLFjg513vOdG2nAFhoUKFvJpQVYW6jw0BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgXgJJF1AqCDm4MGDPvdt7NixPgNMVTxq86cP6YNwi4Dwzy+hoBpu+fLl1q5dO2vevLn16NHDZsyYYbt27fJwUM5h2YIZjt9++63PX1RrUYU6muOoilWtSW0EhLGtiEQNCFVBWK5cOWvatKkHxjrvBISxnXv2RgABBBBAAAEEEEAAAQQQQAABBBBAAAEEELi4AkkVECqo0awvBTOaOzh48GCbM2eOpaene8VgQKkP6wkIA438f1XQpeDv2LFjtmnTJktJSbHWrVtbmzZtbPr06X/M2sv/MybHnprFmJmZ6RWpCgcHDRpk69at+6/KMQLC2M53IgeE5cuX94BQVcpB5XK0o6eCMJoQ9yOAAAIIIIAAAggggAACCCCAAAIIIIAAAgjESyCpAkKFg6oUXLJkiQ0cONADwrVr15pm5V3Y8pKA8M8tH4WDcty2bZtXZnbv3t169+7tLTW3bNnicx81/zFMm0LTrKwsb606YcIEGzVqlM2cOdN27979R8Vq4EFAGEjk7ysBIS1G87dS2AsBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAgVoGkCAiDyrbDhw/bqlWrbOrUqfb55597hZtCBoVWQZtHAREQxrZMAt+TJ0+aPDVXTZVyais6ZcoUr5ZTVeGFxrH9hcTcWxWrZ8+ete3bt5vCQc26VDi4fv16rx7MeVQEhDlF8v45kQNCWozmfW65FwEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQOB/K5AUAWEwV3DHjh1ezaZwMAhqcguuCAhjW3RB5aACm2nTptmQIUM8gFU4qLl7Mr6wQjO2Z0/cvc+dO2eHDh2ylStXerWqWtoqoFZFoe7LuREQ5hTJ++dEDQhr1aplZcuWtcaNG3uYrvOu95xoGy1GowlxPwIIIIAAAggggAACCCCAAAIIIIAAAggggEC8BJIiIFQYo1Bm9erVHlwpIFRQo/Amt6CGgDB/yydn5WBaWpr7DhgwwGcOas5ebgFs/p49sfeSjY59w4YNNmvWLBs2bJhNnDjRdu7c+V+tRYMjJSAMJPL3NZECQgXkGzdutK5du1rt2rWtdOnS1qBBA5s3b56psjk/AXrOgLBw4cL24Ycfesio9zI2BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQTiJZAUAaGCF7V1nD17to0ePdqr3BQuKBxU9VvOjYAwp0juP+esHFTwqiBs+vTpppmDYa0cVDiotrW7du2yyZMn28iRIz0k1BrUvEu55dZulYAw93UW6beJFBDqPSU9Pd169uxpderUsSeeeMJUSah2x5qLqvmo0bacAeFdd93lgaP+8UHrig0BBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgXgJJEVAePDgQa/U+eyzz+zTTz+1bt262aRJkyw1NTXXm6p6ZsyYYb169bLKlStbiRIlrGrVqvbuu+/a2LFj/3iMWkfu2bPHTp065YFQvNAL+vNcWDmoEEyVg2qf2b9/fw9fw1w5qHMXzB7cvHmz9enTx9q2bes248aN86Aw0rpTsKqQVa0nb7nlFr/pe/1O98lZYdDWrVt9hmHO2ZkFfd3E+/UlSkCo60VrIiMjwwYOHGj169e3hx9+2CpWrOjvJ6oq1XtItG3fvn2+Dlq2bGkKB/Ucej4Fjz/88EO0h3M/AggggAACCCCAAAIIIIAAAggggAACCCCAAAL5FkiKgDAzM9MUzrRo0cIrd/Th+kMPPeTBn8K/nLfixYvbI488YkWKFLFrr73Wrr76arvuuuvstttuswceeOCP/fVBf0pKimm2YX4+4M+3egHfURVwqojavXu3B6kKsBQQKnRVWBHWysHgtCm4O3nypC1fvtxat25t5cqVs0cffdQefPBBK1as2B/rJ+e605orWrSoB4N///vfTTcFhfqd7tPcOrWlVOio1qVhC6YD3+BrogSEer0KCfV6R40aZQ0bNrS7777b34t07aja9sSJE8FhRfyq603/oNC0aVNfD1pXqojevn17qN5/IgJxBwIIIIAAAggggAACCCCAAAIIIIAAAggggEDcBJIiIFRrPrUX7dixo1WvXj1iQBMENgSEkdePgo7Tp0975eTSpUu9uq1fv34eDmqu45EjR3Jtn6ln1GMVnilc1NdIrTYj//XEuEfHpvBOIZ7CPIV6CveC9RXpKwFhbOc3kQJCHVlQAfjOO+/4Px8oMFaV8po1azxUj3T0um50rWzbts1UBa2AsVSpUt6qVJWlet6zZ89Geji/RwABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAgZoGkCAj14blCQlXqKNSK1OIx+D0tRnNfJ0FQoUBizpw5NmLECBsyZIhXUW7atMnDwfPnz+f+YDMPBRWcqR2ivkaaARnxCRLkjiAI1UxBtQNVW1C1Bw3WV6SvtBiN7QQnWkCo8FxVpV26dLH777/fK0PbtWtnCxYssEOHDkU8eIWDuq50jak9cr169axSpUrWvHlzW7hwoYeLCt3ZEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBCIl0BSBISxYujDdoVYixYt8nZ+mj/45ptv2vDhw71NYKzPlyz7K9A7fPiwVzwNGzbM+vbtaxMnTrQVK1b47xWM5bWp8lBtEtUSUYGt2iqq2o7tNwEFihs3brTevXt7hZla3Op7/U73sWUXSLSAUG1nFRgrWC9Tpoy3CVU14eTJk70iN9L1o2tEj9V11qZNG6tZs6ZXD3bo0MHWrl1rZ86c8RmH2XX4CQEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBPy9AQNi0qREQ/tYeVBVQK1eu9IpBhYMKCdUeMSsry6sBoy0zhYuLFy/2SjpVc+b3cdGeN1nuJyCM7UwmWkCogF2VgnPnzrXXXnvNypcvb2+88Ya3Dc3IyPCwPLeQUI/TtaLHNWrUyCpUqOD/uKD5hWo7+vPPP0ds6xubKHsjgAACCCCAAAIIIIAAAggggAACCCCAAAIIIPCbAAEhAaEHEKr+U/WTKgYHDRrk4aDajKrdaLRZgrpfVZk7duyw8ePH2+jRo73ySWGJwg+23wQICGNbCfEKCIMKPa1lVWuqJWx6erplZmZ6K9xo6zu/r1pBnq4jVf1pHmr9+vWtVq1a9sEHH9iyZcu8ajm3VqGqtP3uu+9s7Nix9uKLL1pqu7y0AAAgAElEQVTFihVN1YOaq7p//37CwfyeAPZDAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQyLcAASEBoYcaag06f/5869Wrl980N02/U+CRW9XThStMoYfCLwUvweP1vX6XWyBy4WPD9D0BYWxnO14Bodp3qhJPMyDfe+89a9iwoWk24IQJEzzU1vw/hYR/ddN1opBQr1vP3apVKytXrpzVrl3bq3L1e11PF256zMGDB/3a6969u1czK1RUyK4qXIWHbAgggAACCCCAAAIIIIAAAggggAACCCCAAAIIxFsglAHhhS391ApQH+K//vrr3gpQVXTxqiiK98mK9/MpnNCxqtJPrUE1g/H999+39u3b29dff+0VhTt37rRdu3ZFvCn0UDXWwoULbdSoUR6KqHpKrUlPnTrFDMILTppauGrOXOfOne3OO++0u+66y7p06WKrVq2yo0ePXrBnuL/VmtQ1unnzZuvTp4+9/PLLVrp0aa/ImzFjhu3du9fn8kULrqWofbS+NW9U7o8//rgVLlzYSpYsaZoPqN/LXiFhvDY9nwLywYMHe0VgjRo1TOHfvHnzPHQ/e/asB4lBsL5u3Tqv2n377bf9WNu2bWtpaWmm9RLP1xWv4+N5EEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBJfIJQBoYIrBV+q8nn++eetePHi/kF+t27dvAWhwol4VBQV9OWhY1RIoVBU8wZbt25tTZo0sZYtW3owo8Dviy++8GomVTTlvOm+ESNGWM+ePa1Zs2b20ksvecDRqVMnW79+vQVBSEF3uBSvT0GV2kWqbauq2AoVKmT//ve/TWHQN998YwcOHIhaqXkpXmdB+BtBgK+K1nfffdfDwSJFitgzzzxjAwYM8PBZ4ZnWb14hoe7TPgqx1b5T8/1kfvnll9u//vUvf96RI0d6daGqDOO1KdTTPE61Fe3atavPIdQ/IqhqUZW5WgeqJDx27Jht2rTJxowZ4zMLVWmocF0hqEL5eFU2xuu4eB4EEEAAAQQQQAABBBBAAAEEEEAAAQQQQACB5BEIRUCooEoBjFr2LV261GbOnGkKBtQCsFixYh4alChRwl555RWvIpw7d64tWbLEK+OysrK8mikZA0Mdk0IIzWVTkKGAr3LlylapUiWrU6eOe8gk0k2VXfXq1fP977vvPnvwwQfthRdesB49eridwsdkdIt2+SuY0tw7tRRV+KoKQVWqaT6jQqIqVarYtddea9dff70H1AqFFFarinPDhg1eZaYQW3Z5BWDRXkei3K81qKo7zbBcvny5zZo1y60+/fRTq1Chgt1xxx12zTXXeMVlgwYNvI1tSkqKh22ylbGsZX6hV6SA8B//+IddffXVXkWoqtmMjAyLZ0AY/F3NPFQgrLa7Ct6bN2/ulYJTp071asKvvvrKA3hVNuq4WrRoYVOmTPHjiefrSZR1wOtEAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQuHQCoQgIFQ7Onj3bq3OqV6/uoaACLVVx/fOf//SKIgUGN910k917770eHKgt4Mcff+ytMzUjTFVNybYpgNJxKSBUSKFwUGGMwqsbbrjBPWSS1+3GG2/0/a+66ir3VLCo1oqa+RaWgCvnulBQpYBPYZ9aZCr8KVu2rAeot99+u3v97W9/s8suu8xDQrUbVbiqYFbVhap22759u1d3hiFgVTiooE/rRvP3FNrLIwgGr7jiCpPXlVdeaTfffLOpmvChhx6yZ5991l599VU3lnVuLW0V1uVsMXrbbbd51XDTpk09qLsY17f+rqoE9+zZ45WECiI/+ugjn3+o9xa1Na5YsaK3TdU/KvTv39+DUV03Cge1htgQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEELhYAqEMCFUtmNdN887UejQMAaGq/BRGKZRSOKWQKi+bvO5T+KpqOIWxCmXDukUKCPOy030EhL8FhNGcgvsVuip8VQgbKSDUGlTgpuBt+vTpvsb1GLV2VQvdb7/9NtdgMR5rVyGh1oICSgWgaiXapk0bq1u3rldGVqtWzasK+/Xr5xWmmZmZHirqcWwIIIAAAggggAACCCCAAAIIIIAAAggggAACCFxMgVAEhDlbjKamplpet4ULF3rVT3p6uiVzi1EFEapQU+XV7t27vZJQrVXzssnrPrVvVRtXhYMyD+sWBENBi9HVq1dbWlpaVFfZq5pT5yLMLUbzWmMX3idT2UZqMRqsP4V0CgnV8lO+eoxm/2nO34kTJ/6rNWnwuHh81VpQla6qJHVe9XdXrFjh7WR1vaxbt87DS73PnDlzxn7++ed4/FmeAwEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBPAVCERDmKcCdCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCIRIgIAwRCebQ0UAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECAgJA1gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggECIBAgIQ3SyOVQEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEECAhZAwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgiESICAMEQnm0NFAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAgICQNYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAiAQICEN0sjlUBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBAgIWQMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIhEiAgDBEJ5tDRQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQICAkDWAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQIgECAhDdLI5VAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQICFkDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCIRIgIAwRCebQ0UAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECAgJA1gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggECIBAgIQ3SyOVQEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEECAhZAwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgiESICAMEQnm0NFAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAgICQNYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAiAQICEN0sjlUBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBAgIWQMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIhEiAgDBEJ5tDRQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQICAkDWAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQIgECAhDdLI5VAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQICFkDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCIRIgIAwRCebQ0UAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECAgJA1gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggECIBAgIQ3SyOVQEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEECAhZAwgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgiESICAMEQnm0NFAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAgICQNYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAiAQICEN0sjlUBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBAgIWQMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIhEiAgDBEJ5tDRQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQICAkDWAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQIgECAhDdLI5VAQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQICFkDCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCIRIgIAwRCebQ0UAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEECAgJA1gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggECIBAgIQ3SyOVQEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEjog/PXXX+2XX36xU6dO2e7du23jxo22ZMkSS01Njctt+fLltmPHDjt69KidP3/ezp49awcOHLAtW7bY0qVL4/I39Fr1XHpOPbf+xqX6Oz/99JPb7dmzx1auXBm340lLS7PVq1fb1q1b7fjx43bu3Dk7efKkXey/o+PRmmBDAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBCILJDQAaHCwR9//NG2b99uY8eOtffee88qVapkJUqUiMutVq1aNnjwYFu1apWHhArwZs+ebR07drTq1avH5W/oteq59Jx6bv2NS/V3FKwqAE1JSbH69evH7XjKli1rDRo0sD59+tiGDRvs4MGDlpGRcdH/jo5HISEbAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAZAECwjzCRALCPxe0EhBGvuC4BwEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBD4XwskdEBIi9HYWqnmbGVKi9H/9eXH30cAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEELr1AQgeEl56Lv4gAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAYgsQECb2+ePVI4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBCTAAFhTFzsjAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBiCxAQJvb549UjgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggEJMAAWFMXOyMAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQGILEBAm9vnj1SOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCAQkwABYUxc7IwAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAYgsQECb2+ePVI4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBCTAAFhTFzsjAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBiCxAQJvb549UjgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggEJMAAWFMXOyMAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQGILEBAm9vnj1SOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCAQkwABYUxc7IwAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAYgsQECb2+ePVI4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBCTAAFhTFzsjAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBiCxAQJvb549UjgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggEJMAAWFMXOyMAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQGILEBAm9vnj1SOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCAQkwABYUxc7IwAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAYgsQECb2+ePVI4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBCTAAFhTFzsjAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBiCxAQJvb549UjgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggEJMAAWFMXOyMAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQGILEBAm9vnj1SOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCAQkwABYUxc7IwAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAYgsQECb2+ePVI4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBCTAAFhTFzsjAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBiCxAQJvb549UjgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggEJMAAWFMXOyMAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQGILEBAm9vnj1SOAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCAQkwABYUxc7IwAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBAYgsQECb2+ePVI4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBCTAAFhTFzsjAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBiCxAQJvb549Uj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QIBArUBFBoQ5H69x48al4i1bYGZYk1VetVuGOtkWMgObuXPnlllxd955Z7Rs2TKuuOKKyPc5pzCrwvK6aquIq3Xa9WeabdmyJXLWXlZa9uvXL9q1axctWrSItm3bxmOPPRaTJ0+OtWvXlnB11+sr7fdaj/nz55dw8Omnny7h4NSpU8va2vV+BYS7ividAAECBAgQIECAAAECBAgQIECAAAECBAgQ+DIEqjIgTOgM/bL944YNGyKrBceMGVPaQ1588cVlLuEDDzxQ5sgtW7asqiri9rQIa4PVDAkz7Jo3b14xevjhh+OSSy6Jyy67LLKCLsPDPF7pW7ZgXblyZUycODG6du1aXpMmTfpzq9Vd719AuKuI3wkQIECAAAECBAgQIECAAAECBAgQIECAAIEvQ6BqA8KdsTPwyiBw6NChpYLw9NNPLz9zntwHH3xQquayWsz2lwKbN2+OJUuWxODBg8ssx7PPPrvMcxw4cGCpvkyzSq2+zPv6+OOPSxia66Z79+6lonLhwoV/1Vq0Vk1AWCvhJwECBAgQIECAAAECBAgQIECAAAECBAgQIPBlCggII0q70Qy7pkyZEvfee2+phmvSpElcd911MXr06FizZk1VtMzc14W4Y8eOUoGZFXQ597Fp06Zx+eWXx4MPPliCswxeKzFYzXAw733x4sVlHmPPnj1LuJytRbO96u5mMAoI93WFOZ8AAQIECBAgQIAAAQIECBAgQIAAAQIECBA4EAICwj+1G81QZ8GCBaUSLGcR/sd//Eece+65UdcMwwPxIBriZ9a2HJ09e3aZP5huWUV47bXXlpatWWGXbVwrbaudPZjVpY888kj89re/Lff//PPPl6Bw1KhRUdcrKy27desWv/71r+P//t//W175PvflsXHjxpUZjjkXM8PEDCErtQKz0taE+yFAgAABAgQIECBAgAABAgQIECBAgAABAg1JQED4p6eVQcyHH34YL774YrRu3Tq+973vxU9+8pMyV27WrFmxfv36hvRcv7Dvmm4ZrGbI1apVqzj55JPj0ksvjVdeeSU++uij0p71C/syX9Afqq2cfPvtt+PGG2+M0047rayVf//3f49GjRrFMcccU+frqKOOih/+8IclGPzqV78a+cqgMPflsVNPPbVUYGbomHMcN27cWELCL+i2/BkCBAgQIECAAAECBAgQIECAAAECBAgQIECgSgQEhDs96Ay0Bg0aVFqL/uu//mscdthh0blz55g+fXqp6Nrp1Ip6W1sRt2rVqpg5c2a8//77UVNTU9plbtu2rd57XbRoUfTo0SOuuuqqOP744+P888+v6MrLDAgzvMsQL8O8bKua4d7ugsHa/QLCepeSEwgQIECAAAECBAgQIECAAAECBAgQIECAAIEvQEBAuBPysmXLYsiQIXH99dfHt771raoJCHNW4PLly2Ps2LFx9913l5aZffr0Ke0uc6ZefVu1BYRZNZkhYbYBzXagkydPLu1B62oruvM+LUbrW0mOEyBAgAABAgQIECBAgAABAgQIECBAgAABAl+EgIDwT8oZ+ixZsiQGDBhQZuh9+9vfjh/96EfRpUuXUlG3bt26L+J5fCl/I4OurIZ76qmn4uc//3n87Gc/i9tuu62EpRma7mnbtcVoXvvLX/6yVGIuXbo0Nm/evKfLq+pYOmc1alalZnVqtVSoVtVDdrMECBAgQIAAAQIECBAgQIAAAQIECBAgQKABCAgIIyJDrk8//bTM0stWmS1atCgzCP/jP/6jzCDMtpuVPIMwW6vmzMB27drF4YcfHt/97nfj17/+dTz//PNlLuPu1nG6ZXvS2bNnx2OPPVZabZ5++unRsmXLGDFiRKxevTr2pkXp7j6/0vYLCCvtibofAgQIECBAgAABAgQIECBAgAABAgQIECDQMAUEhBEl5MpKt/feey/uv//+OO+88+KII46Is846K/r27RsLFy4sM+ca5iOu/1tn5eRLL70UrVu3jpy9mO1V833uy2O722pn8U2aNCnuuOOOUjl40UUXxa233hoTJ04sZnmO7Y8CAkIrgQABAgQIECBAgAABAgQIECBAgAABAgQIEDgYBASEEZEz+LKV5muvvRZXXXVVabF5wgknlCq6kSNHVnwl3MqVKyNn5WWwlxWE/+///b+45557Yvz48eXed7dQa91ybmNWXZ5xxhlx3XXXxTPPPBPz5s0rc/qyytD2RwEBoZVAgAABAgQIECBAgAABAgQIECBAgAABAgQIHAwCFRUQZsg3dOjQuP322+Okk06Kc889N1544YVYtGhRbNq06S+8M7jK6rbcX1NTE2PGjCmz4c4555zIcLBZs2bl95wZl+dkK81K3WqDq65du8app55a7j8DwmwTmhWE2SY0W7DmVpfbo48+Gr/4xS/iwgsvjEceeSTGjRsXq1atKudWqtnnua81a9bEO++8U6pUs43r9773vXjggQciKzDXrl37eT7SNQQIECBAgAABAgQIECBAgAABAgQIECBAgACBfRaomIAwg6ulS5fGoEGD4qabborjjz8+zjzzzOjVq1epZtuwYcOfcfLcDLxyX4aHr7/+etx5552R7THzurPPPjsefvjhGDt2bCxfvryEg3lNpW5bt24tgd7o0aOjffv2pVVomzZtIoO/DK8y2MpzdueW1YOXXnpp/Pa3v42suMyZhtmy1fafAmmXAfawYcOK8SGHHBLf/va3/2yW66yS19h/SnhHgAABAgQIECBAgAABAgQIECBAgAABAgQIfNkCDTogrJ2Bl1VuOfMuqwVzFl5Wsh122GFx5JFHRocOHeLZZ5+NV199tbTRzFaaGWJldVy2xsxrMgy88sor44ILLohLLrkkbrvttj9Xz1VD0JVhaVYJzp8/v3jcd999ceONN8Zdd90Vffr0ieHDh8cbb7wRGSDmzwy5Xn755XjiiSeibdu2pRVrBqxpmZ+xc8Xhl73Av4y/n0Ffrs2szJw7d24JWTNsTp90ygD6H/7hH+J//+//XdbcvffeGy+++GJp6Tpt2rRS0bpx48YSYgsNv4wn6G8SIECAAAECBAgQIECAAAECBAgQIECAAIHKFmjQAWGGKAsWLIj+/fuXlqD//u//HoceemgJXv7bf/tv8T/+x/+IrNT68Y9/HI0aNYpjjjmmvI4++ujIV7YSzbCmadOm0bp16zJ3L4OaDBtrq+AqubVo7dLOEKq2onLhwoXx5ptvRt++faNjx47Rrl27aN68eanGzLat+crKzNyX1Ya/+93vyrl5TV6bVZn5WdUcbNUG1xn2ZcvVyy+/vLRurV2fGQ7+l//yX+K//tf/WtZqthvNY2eddVYxzVA2g9bt27cXy9rn5CcBAgQIECBAgAABAgQIECBAgAABAgQIECBA4G8hUFEBYW0AuLc/Tz755NJOM0OwLl26lPmFGcxkyJUhT7VttZVvOT9wypQpJXjNWYQtW7YsQWptQJhzGq+++uoSIGZl5gcffFBm6KVZNQeDtetldwFhfetSQFgr6CcBAgQIECBAgAABAgQIECBAgAABAgQIECBwIAUadEBYG8TUthjN9qH78sq2j++8805kpde8efPKjLisSqzmoCsDvpw3+PHHH0e6zpw5M959992YMGFCjBkzpryyWjADxDlz5hSzdevWlbaiwsE//lOtDVprW4xOnjw5xo0bV+/aTOPp06drMXog/8fz2QQIECBAgAABAgQIECBAgAABAgQIECBAgEA06IDQ8yNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYN8EBIT75uVsAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg1aQEDYoB+fL0+AAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg3wQEhPvm5WwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDVpAQNigH58vT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGDfBASE++blbAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINWkBA2KAfny9PgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYN8EBIT75uVsAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg1aQEDYoB+fL0+AAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg3wQEhPvm5WwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDVpAQNigH58vT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGDfBASE++blbAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINWkBA2KAfny9PgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYN8EBIT75uVsAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg1aQEDYoB+fL0+AAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg3wQEhPvm5WwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDVpAQNigH58vT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGDfBASE++blbAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINWkBA2KAfny9PgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYN8EBIT75uVsAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg1aQEDYoB+fL0+AAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg3wQEhPvm5WwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDVpAQNigH58vT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGDfBASE++blbAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINWqAqAsJPPvkkNm/eHCtWrIjp06fHe++9FwsWLIjVq1fHtm3bGvQD9OUJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI7ItAVQSEGQ4uXbo0Xn/99bjxxhujTZs20bVr1xg/fnwJCfcFzLkECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGrJAVQSE69atixkzZsTTTz8djRs3jkaNGsU111wTffv2jcWLF8enn34an332WUN+jr47AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgb0SqIqAcM2aNfHOO+/Eww8/HMcdd1wcfvjh8ctf/jK6dOkSs2bNiu3bt5eQcK/EnESAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgAQtUfECYlYHLly+PESNGxP333x9NmjSJY489Ns4555y444474t133y3zCXNOoY0AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBApQtUdECY4WC2D62pqYn+/fvHAw88EDfddFO0bNkyzj777NJmdMyYMfHxxx+XKsJKf9jujwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBFB4QZDmb70Pnz58ezzz4bHTt2jK5du8Z9990X5513XrRo0SKGDBkSy5Ytiy1btlgNBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBCpeoKIDwmwbunnz5pg5c2Z07949OnfuHC+//HJ069YtLrroorj00kujX79+JUDcuHFjxT9sN0iAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgogPCbdu2xdq1a+O9996Lp59+On7/+99HthQdOHBgXH755SUgzOBwypQppc2o5UCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg0gUqOiDctGlTmT/45ptvRs+ePaN3794xffr0GDduXLRv3z6uuOKK6NSpUwwfPjyWL19e6c/a/REgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCIig4I161bFzNmzIhRo0bFCy+8EK+++mosWrQopk2bFvfff3+0adMm7rjjjnj++edLkPjZZ59ZEgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQqWqCiA8I1a9bEO++8E0OHDo0hQ4bEW2+9FStXrox58+ZF165do0OHDuWVrUfnzp0bObNQSFjR693NESBAgAABAgQIECBAgAABAgQIECBAgAABAgSqXqBiA8IM+rJt6IgRI+Lll1+ON954o1QTZlXhkiVLon///nHPPfeUKsL77rsvpk6dGlu3bo1PP/206hcFAAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgcoVqMiAMMPBDPpqampKEPjcc89FziHM33MuYVYRjh49Orp06RItWrSI66+/PiZMmBDr16+PHTt2VO7TdmcECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJVL1CRAWGGg9u3b4/58+dHr169okePHjFlypRYvXp1bNu2Lf7whz+UisHc/6tf/SquuOKKGDZsWAkOs4rQRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBSBSoyIMxZgps3b47Zs2fHs88+W14zZ86MjRs3lgrBDRs2lDmEL7zwQlxyySUlJOzXr18sWLCgnFOpD9t9ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKjIgDCrBNeuXRvTpk0rFYTPP/98Cf+yqjCrC7ds2RLLli2LIUOGlOrBrCJ85plnSlVhVhfaCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFSqQEUGhDlnMOcNvv3225Hh4KBBg2LJkiUlHMz5hBkUZhCYcwfbt28fV155ZTz22GMxZsyYWLVqVaU+a/dFgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAICoyIFy/fn1kS9HRo0fHgAEDYuTIkbFixYo/P+5sQZpVhFOnTo377rsvrr322njwwQdj4MCBsXTp0sgQ0UaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgEgUqMiDM9qITJ06MYcOGxfDhw2PSpEml5WjtA8wAMEPCuXPnxpNPPhk33nhj3HrrraXNaM4hzDakQsJaLT8JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQqSaDiAsIM9pYvX17Cwe7du5fWod26dYvBgwfHqFGj/uLVu3fvaNeuXTRv3ry0Ge3YsWN88MEHpQVphoQ2AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABApUmUFEBYYaDGewtXLgwnnvuubjmmmviZz/7Wfzwhz+Mo446Ko455pi/eB1xxBHxrW99K7773e+W8zp06BBvvfVWbNiwIXbs2FFpz9r9ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKisGYQZDm7fvj3mzJkTv//976NVq1bRuHHjaNSoURx99NF/EQ5mWJihYYaH+cpzrrjiitKSdNWqVbF161bLgwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEDFCVRUBWHOFdy8eXPMmDEjnnrqqXjwwQejT58+MXTo0BgxYsRftBfNdqOvvPJKZBvSnEF48sknxwUXXBD9+/ePxYsXx6ZNmyruYbshAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhUVEG7bti3Wrl0bU6ZMiZw72KNHj5g9e3apBqxrpmC2Es1qw2xHevbZZ0eTJk1KYJhzCNetW2d1ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKg4gYoKCLPqr6amJsaPH18Cwt69e8eiRYvKXMKcT7jrltWGH374YQwYMCB++ctflpCwc+fO5frVq1fverrfCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDR4gYoKCLPqL6v/hg8fHs8++2wMHDgwli5dutuHlBWHGQRm+9GrrrqqtBi96667SuvRjz76KOoKFXf7YQ4QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaAACFRUQZtiX1YNZEfjyyy/H2LFjY9WqVbt9DDt27IiNGzfGO++8E7/97W+jWbNm0b59++jZs2csXLhwt5WHu/1ABwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgc5AIVExBmtd+yZctiyJAh0adPnxg2bFhMnTo1/vCHP+z2EeRcwqwizKrDjh07lirCq6++Oh5++OGYOXNmbN++vYSEu/0ABwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0MIGKCAgzHMywb/HixfHCCy9E9+7dY8yYMbFgwYJSIbi7Z1J73fz58+Opp56Ktm3bRvPmzeP222+Pd999N3JG4SeffLK7y+0nQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0OAEKiIgzHAwq/3mzJkT3bp1i8cffzzefPPNUlG4ZcuWeh/KkiVLon///nHLLbfEhRdeGK1bt4433ngj1q5dWyoM6/0AJxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBoIAIVERBmld+mTZtKS9FOnTqVdqE5V3BvA76VK1fG6NGj46GHHoqf//znJSR86aWXoqampnxuA3mWviYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBegUqIiDcunVrrFq1KsaOHVuqAG+99dYYP358rFmzZq8qADNInDRpUnTu3DmOP/748urSpUtMmTKlhIzZitRGgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoBIEKiIg3LBhQ8ydO7e0CW3ZsmVcffXV8dprr+11i9EMCCdPnhy/+93v4kc/+lH827/9W/zmN7+JQYMGRbYfzRamQsJKWO7ugQABAgQIECBAgAABAgQIECBAgAABAgQIECBAoEEHhNu2bSsVftOnT4++fftGhw4d4sQTT4zGjRvHXXfdFUOGDIn58+fHxo0bY8eOHX/1tGuvnzZtWjz33HOR4eK//Mu/xNe//vXyGbfddlsMGzYsFi1aFBlCCgr/itAOAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBBibQoAPC2tagjz/+eDRp0iQOOeSQ+J//83+WgC+rAC+++OJ48cUXY8GCBSUk3PXZ7Hz9mWeeWcLBr371q/GVr3ylfMZRRx0Vbdq0id69e5egcfv27SUk3PVz/E6AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgoQhUREDYtWvXEgYec8wxsfOrWbNmpe1ofQHh7q4/66yzon379tGnTx8BYUNZ0b4nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAHgUadEBY2yI0A8C33347Ro0a9ReviRMnlhmC9bUY3d31EyZMiGxfWlNTUyoQtRjd41pykAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoAEINOiAsAH4+ooECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDioBAeFB9Th8GQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIHVkBAeGB9fToBAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBg0pAQHhQPQ5fhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCBFRAQHlhfn06AAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgoBIQEB5Uj8OXIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIHBgBQSEB9bXpxMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBA4qAQEhAfV4/BlCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBxYAQHhgfX16QQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOKgEB4UH1OHwZAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgdWQEB4YH19OgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGDSkBAeFA9Dl+GAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwIEVEBAeWF+fToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCgEhAQHlSPw5chQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgcGAFBIQH1tenEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDioBASEB9Xj8GUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIHFgBAeGB9fXpBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4qAQHhQfU4fBkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECB1ZAQHhgfX06AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYNKQEB4UD0OX4YAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgFWyXxwAAIABJREFUQIDAgRUQEB5YX59OgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4KASEBAeVI/DlyFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBwYAUEhAfW16cTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQOKgEBIQH1ePwZQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgcWIGqCgg/++yz2LFjR2zYsCGWLVsWy5cvj82bN8enn34aecy2Z4Ft27bF2rVrY9WqVfHxxx/Hxo0bi+eer6q+o9u3b4/169fHRx99FDNnzoxJkybF2LFjyyvf5748lufkuTYCBAgQIECAAAECBAgQIECAAAECBAgQIECAwBcpUFUBYYaDGcrMmzcvhg4dGsOGDYslS5aUkCZDQtvuBTJAzXAwA64xY8bEu+++GwsXLiwh4e6vqr4j6bRu3bqYNWtWvPLKK3HPPfdE8+bNo3HjxuWV73NfHstz8lzhdPWtE3dMgAABAgQIECBAgAABAgQIECBAgAABAgS+TIGKDAg/+eST2LJlS6kU/MMf/hCrV68uFYNz5syJCRMmxIsvvhgdO3aMp556qoQ0W7duLVWEX+aDOBj+dgZVGZRmpWBWWWaV4Jo1a4rd/PnzSzD46KOPRqdOnWLw4MHx/vvvl4DrYPjuX/Z3SLtccytXroypU6fGCy+8EPfff3+0bt06LrjggjjxxBPjpJNOiosuuijatm1bDF966aWYNm1auSavFRR+2U/R3ydAgAABAgQIECBAgAABAgQIECBAgAABAtUhUJEBYYYt2T40KwWnT58eb775ZqkYzEAww5ms4mrVqlUJaTLkEhD+cbFnOJgWGajOnTs3pkyZEu+8806x69q1a1x//fVx8sknx7nnnhvdu3cvthnAVvtWG6yuWLGitBF94oknomXLltGiRYsSRPft2zdeffXVUrGawWq3bt3ihhtuKJ65JrP9aF6r1W21ryT3T4AAAQIECBAgQIAAAQIECBAgQIAAAQIEvhiBigwIs/qttlowW4n26dMnunTpUsLB448/Po488sg477zzSoVXVnAJCP+42GrnMy5evDjGjRsXgwYNKtWWaXfNNdeUcPAf//Ef44gjjoisJMzwVUAYZQ5jtq7NysG0+vWvf13W19VXXx0vv/xyCarz+KZNm0o15ujRo+POO+8sIeJvfvObePzxx4ulmY5fzH96/goBAgQIECBAgAABAgQIECBAgAABAgQIEKh2gYoMCHNW3uTJk0vA9fTTT5cqrttuuy2aNm0aP/jBD+K73/1uNGnSREC4y+rfvn17aSs6Y8aMyPaXWQn3yCOPxC233BKXXHJJHHXUUfG1r32tGOZ+AeEfATPYyxas/fr1i0svvTROP/30Ekb36NEj0jID6wxfa1vfLlq0KIYMGVLWX7YcvfLKK8tazWA2Q0QbAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBAClRkQLhu3br44IMPYuTIkdG/f//IoOaxxx4rbR2PPfbY+PGPf1zaZOaMOBWE/7m8MiBMu2zNOnz48MjWmM8991wJCbM1a+PGjePrX/96HHbYYdG5c2cBYUSZG5hzB8eMGRMPPvhgqbI85ZRTSvvabG2b7Vp33bKacPbs2dG7d++48MIL4+yzzy7GOR9z1apVZhHuCuZ3AgQIECBAgAABAgQIECBAgAABAgQIECBA4G8qUJEBYW3QlXPdlixZEgsWLIiZM2eWKq02bdqUQOZXv/qVCsJdllLOwEu7rHjLGY41NTWRVW3ZOnPgwIHRvn37OOSQQwSEf3LL2YNZGZiBaobQubZOPfXUyLWVFZhZKVhXRWC2tM0gMAPs1q1bx/nnnx/ZavSZZ54plYj5mfnZNgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAgRCoyIBwV6gMvjKUyaDr3nvvjebNm8dll10mINwVaje/55zBtOvUqVN8//vfFxD+ySmDvGwvOmnSpLj99ttLNeA555wT7dq1i6wGzGrMDFx33bLV6ObNm2PKlCllFmG2b81XziXM1rgZKuY5NgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAgRCoqoAw24ned999JRxs0aKFgHAvV1QGhGn38MMPl3BQi9E/wm3ZsqVUWg4dOjRyPWVr0WbNmhWnnD2Y4WCG07tuWR2YAeCcOXPi8ccfj5YtW8YZZ5wRV111VYwYMaJUF2agbSNAgAABAgQIECBAgAABAgQIECBAgAABAgQIHAiBqgsIc+5ghjkCwr1fThkQTp8+vcwdzHBQQPhHu2zFmiFfz54947TTTotGjRqVlqG9evUqrVn31CY0j2X71j59+sS1114bORuzSZMm8fzzz8fChQtLZeLePyFnEiBAgAABAgQIECBAgAABAgQIECBAgAABAgT2XkBAOG1aaT9aV6XX3jNW9pkCwrqf79q1a0t70Y4dO8aPf/zj0n4124u++uqr8dFHH9V90U5785zBgwfHDTfcUELXI488Mrp06VKqNdPcRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBA4EAICQgFhvetKQFg30YoVK2LkyJFx8803x7e//e049NBDyyzCsWPHljahdV/1n3tXrlwZo0ePjltvvTW+853vxL/927/F3XffHW+++WasXr36P0/0jgABAgQIECBAgAABAgQIECBAgAABAgQIECDwNxQQEAoI611OAsK6iZYuXRoDBgyINm3axDe/+c343ve+Fw899FBMnjw5srqwvi3PyXMffPDBcm2GjDfddFOZ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MIOr2gCnf//+0bRp02jUqFF5XXrppdGvX7/S1jFDnGoOuepabhkOZnCaLTR79+4dV1xxRXzjG98or3zfq1evmDNnTmmjWdesvbo+sxL3ZfCX6+eDDz6I7t27xw033FDmCrZp0yYGDBhQ/NavX1/OWbx4cQwZMqSck2uxffv25ZoZM2aYPViJi8M9ESBAgAABAgQIECBAgAABAgQIECBAgACBg1CgIgPC2hlvM2fOjDfffDMGDx5cQph27drFMccc8+eQK99nmPP000+XCq7x48fHtGnTSiVXhooZkFVTaJj3u3Xr1tLmMgOrrK58/fXXi90111wTP/3pT+Pv//7vyyvf575u3bqVwGvEiBExceLEWLJkSQlkMzSrpi3XyZo1a2LSpEmldWjOFmzRokVpO9q3b9949dVXy1zCDKQfeeSRMnswA8ScO5jX5LXVtNaqaW24VwIECBAgQIAAAQIECBAgQIAAAQIECBAgcLAJVGRAuHz58njttdfi3nvvjWz3eNRRR8UPf/jD+Na3vhV/93d/F1/96lfLK9/nvjyW55x11lmloitbQ86fPz+yNWmGZtWyZTiYLUNznt7tt99e2rCecMIJxeeb3/xmCQa/8pWvRL4yKMx9aZcVmUcffXQ0a9Ysskoz221mwFptW1ZbZtA3ffr0ePHFF+P++++P1q1blzaiJ554YuTrwgsvLMHqgw8+WKpXcxZhXqPFbbWtFvdLgAABAgQIECBAgAABAgQIECBAgAABAgS+PIGqCAizUnBvXgLCvwwIcz7eSSedtFd26VvtAWH+M84qwHXr1pXZg6+88krcc8890bx582jcuHF55fvcl8dmzZpVzlU5+OX9B+gvEyBAgAABAgQIECBAgAABAgQIECBAgACBahSoyICwtsVoBjDZYnTUqFF79cqWmln9VVNTUyrgqr3F6FtvvVWqCffWr5pbjO78n0dWnubMwY8++iiyzW22EB07dmx55fvcl8fynDzXRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBD4IgUqMiD8IgH9LQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINSUBA2JCelu9KgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYD8FBIT7CehyAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg1JQEDYkJ6W70qAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgPwUEhPsJ6HICBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDUlAQNiQnpbvSoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGA/BQSE+wnocgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINSUBA2JCelu9KgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYD8FBIT7CehyAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg1JQEDYkJ6W70qAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgPwUEhPsJ6HICBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDUlAQNiQnpbvSoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGA/BQSE+wnocgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINSUBA2JCelu9KgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYD8FBIT7CehyAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg1JQEDYkJ6W70qAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgPwUEhPsJ6HICBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDUlAQNiQnpbvSoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGA/BQSE+wnocgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINSUBA2JCelu9KgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYD8FBIT7CehyAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg1JQEDYkJ6W70qAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgPwUEhPsJ6HICBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDUlAQNiQnpbvSoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGA/BSo2IPzss89i69at8fHHH8eSJUti5syZMWnSpBg7dmy88cYb5edbb70V7733XsydOzeWL18eGzZsiB07duwnaeVevm3btli7dm2sWrWquG7cuJHXTo/7008/jTT6wx/+EDU1NTFjxoyy5saPHx+jR48uay7XYK7FXJO5NvP8XKs2AgQIECBAgAABAgQIECBAgAABAgQIECBAgMAXJVCRAWEGLhn0ZZA1ZcqU6NevX9x1113RvHnzaNy4cRx33HFx8sknxwUXXBDXXnttdO7cOYYPHx5z5syJ9evXC2zqWH1pmuFgBlxjxoyJd999NxYuXBgZEtr+KJBh35o1a2LatGnRt2/fuPPOO+Oyyy6LM844I0444YSy9nIN5lrs379/Cafz/AwWhYRWEQECBAgQIECAAAECBAgQIECAAAECBAgQIPBFCVRUQFgbDGYF17x582LChAnx0ksvRZcuXaJDhw5x6aWXximnnBLHHntsnHjiiXHmmWfGr371q7juuuvigQceiBdffDGmT59eQp4Me6ptS7/aKrispswKtwywli1bFvPnzy/B4KOPPhqdOnWKwYMHx/vvvx/r1q2rNqa/ut8Mo9MrqwbffvvtP6+5G2+8MZo2bVoCwp/+9Kfxs5/9LM4777xo1apV3HbbbfHMM8/EO++8Ex999FFs3rxZSPhXsnYQIECAAAECBAgQIECAAAECBAgQIECAAAECB0KgogLC2qDmgw8+iKeffjruueee+N3vflfeDxkypARc2V505MiR8frrr8fLL78cTz75ZNx8883xi1/8Ilq0aFHOzSq5DMaqraorw8Fsy7p69erSdjWrLzPAGjp0aHTt2jWuv/76Unl57rnnRvfu3UuYmmFstW8ZDmYg/dprr5WgOSsE+/TpU9ZYVltmW9tRo0aVUPXZZ58t6zLD6mbNmkXHjh1L9WqGhCoJq30luX8CBAgQIECAAAECBAgQIECAAAECBAgQIPDFCFRUQJjtLhcsWBAZBmbol+1Ds+Itg5tsh7lp06b45JNP/lwll5VxWfH1+9//Pi6++OJSUZgh2HPPPVcCsgzLMrSplq02YF28eHGMGzcuBg0aVKoqswLzmmuuKeHgP/7jP8YRRxxRXLPaspoDwgyQcz1luJctanOt/eY3v4nbb7+9BIJLly4tay7XUJ6XVjl/8IUXXoirrroqzjnnnNL29sEHHywtW83ArJZ/ae6TAAECBAgQIECAAAECBAgQIECAAAECBAh8uQIVExBmWLN8+fIS1GSg1a5du7j77rsjKwaXLFlSWkBmSJPn5StDmy1btpRquaySy0rDli1bxoUXXlgq5UaPHl2OVVOr0e3bt5e2ojNmzChtMp944ol45JFH4pZbbolLLrkkjjrqqPja174WP/jBD8r+ag8Icz3lGkqHXD8ZLmf1YO/evcs8y2wbuvOaS9+ccZkVrhlC5/nZ8vaiiy4qczIXLVpUAsUv978Ef50AAQIECBAgQIAAAQIECBAgQIAAAQIECBCodIGKCAgz8Mvqt7lz55ZWmO3bt4+2bduWEGvWrFnlWJ5T15b7swLslVdeiVtvvbUENjkn7vnnny/ViFmVWC1bBlg5UzDbZWZFXN++fUuQlSFhejZu3Di+/vWvx2GHHRadO3eu+hajtYFqthHNatUM+rJ6MOdefvjhh7ttUbt27dqYOHFiWZ85lzBfDz/8cGnnmq1tbQQIECBAgAABAgQIECBAgAABAgQIECBAgACBAylQEQFhVmll+9CcHZghX9OmTUtgk61DM+yqb7ZbBjaTJ08uLSJrA5tsF5n78li1bOmUoVe2usxqzJqamsh2o1OnTo2BAwdGBq+HHHKIgPBPCyKrB2vD5ZwpePLJJ5fWoU899VQJqzO0riuYrm2Fm61GL7jgghJK33TTTTFgwIDItqQ2AgQIECBAgAABAgQIECBAgAABAgQIECBAgMCBFKiIgDCDmGzdOH78+BIMnnXWWdGsWbPo2LFjqXLLICdDxN1tGYhl9WHPnj1LWHPsscfGfffdF1kZtmrVqt1dVjX7c3ZehoSdOnWK73//+wLCPz35nQPCDKVPOumkMlMwKy5z1mCGrRm67rrlbMuVK1fGsGHDokWLFnH66aeXdZvrL9uM2ggQIECAAAECBAgQIECAAAECBAgQIECAAAECB1KgIgLC2taYY8eOjTZt2sSJJ55Ywpqrr746Xn/99RLGZCizuy0ruhYuXFjaijZp0qRce88998SIESNixYoVu7usavZnQDht2rTSBjPbi2ox+sdHn+subcaNGxc33HBDqQbMOZb1BYQ51zIrU3M+5lVXXRW55rJF6TPPPCMgrJp/VW6UAAECBAgQIECAAAECBAgQIECAAAECBAh8eQIVERBmBWFWAb711lulDeYpp5wSRx55ZPziF7+I/v37lzaZ2YJ0d1sey8qtF198Mc4999wyay8rCEeNGlXCxd1dVy37MwSbPn16mTsoIPzPp55VqVlFOHv27OjRo0epOs1ZgjmDMFuz7q7F6K4B4dlnnx3t2rWLPn36lLau//kXvCNAgAABAgQIECBAgAABAgQIECBAgAABAgQI/O0FKiIgrA1qMsR66KGHSjCYAWEGLxm6zJ8/P7JKcHdb7Uy4PPfMM88sbUazneabb74Zq1ev3t1lVbNfQFj3o875grn2sr1tBsyzZs0qrWqXLFlSZmLWNX8wP2nXFqO5Tu+4444YPHhwmWlY91+zlwABAgQIECBAgAABAgQIECBAgAABAgQIECDwtxGoiIAwg5is1qqpqYmBAwfG/fffH61atYobb7wxhg8fHhnYbN68ebditQHYU089FWeccUZ55ftsq5nHqn2r9encuXNpL6rF6P6tiKx2nTdvXqlYzdmFWen62GOPCaT3j9XVBAgQIECAAAECBAgQIECAAAECBAgQIECAwF4KVERAmPeaIWG2Cl26dGmp5Hr33XdLW8zly5eXcDArvXa3rVy5srQTfeCBB0oF4UUXXbRXrUl393mVtl9A+Ld7orlOV61aFePHjy+h4KWXXho5tzCD7axC3FMr3L/dt/BJBAgQIECAAAECBAgQIECAAAECBAgQIECAQDULVExA+HkeYoY1GRwuWLAgevXqFR06dIiLL7442rZtG6NHj441a9ZEzour9k1AuH8roLbCNcO/DKOnTJkSzz77bNx1111x/fXXl7a4kydPjnXr1sX27dv374+5mgABAgQIECBAgAABAgQIECBAgAABAgQIECBQj0BVB4QZDmZok4HN3XffHVdccUUJB5944omYOXNmCQc//fTTeggr/7CA8PM/49pwMOdcLl68uATP3bp1ixtuuCHatWsXzzzzTGktmpWuGQ5ab5/f2pUECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA3glUdUCY4WDOLXzttddKYJNzCx999NEYOXJkrFixorQt3TvGyj5LQLhvz7c2FEy3uXPnxltvvVXWWO/evePhhx+O225gIulTAAAPBklEQVS7LX7zm9/Egw8+GBMmTChVhVu3bt23P+JsAgQIECBAgAABAgQIECBAgAABAgQIECBAgMDnFKjagDBDnGz3OHbs2OjatWtp9ZjBzYgRI2LJkiVlbuHnNK24ywSE+/ZId+zYEVkxOG3atHjkkUfisssui5NOOilOOOGEyPmW7du3j+7du5e1l2tty5YtpdXtvv0VZxMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEPp9AVQaEGeBs2LAhZsyYEc8991w88MADcf/995f38+bN01p0l7UkINwFpJ5fdw0IW7RoEaecckp5NW/evFQQZmvRDKOnT58eS5cuLa1us71oBtc2AgQIECBAgAABAgQIECBAgAABAgQIECBAgMCBFKjKgDDDwWz9OHTo0Lj33nvjnnvuicGDB5e5gxmGCWr+cskJCP/So77fdm0xOnHixBg1alRZYy+88ELkjMubbropOnToEJ06dYpBgwbFokWLBNP1wTpOgAABAgQIECBAgAABAgQIECBAgAABAgQI/E0EqiogrK3sWrhwYbz++uvRo0eP6NixY2n3+MEHH5SqwjzH9pcCAsK/9NjX3zJw3r59e6xduzbmzJlT5hFmxeo111wTV199dQmp33jjDa1t9xXW+QQIECBAgAABAgQIECBAgAABAgQIECBAgMDnEqiqgDDnwmU4mNVcjz76aDz88MPx6quvRoaDa9asiQwHtXj863UkIPxrk33Zk2sqQ8Jt27aVEPrDDz+MrCrs2bNntGzZsswo7Ny5c4wcOTJWrFhhDe4LrnMJECBAgAABAgQIECBAgAABAgQIECBAgACBfRaoioCwtnIw2zhmONirV6/IQCYDmpxDmC1HVQ7ufu0ICHdv83mOZDVhmo4fPz7at28fF198cbRp06a0Hp05c6ZWo58H1TUECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAXgtURUC4c+Vgly5dSjiY8wczHMy2jyoH97xeBIR79tnXo7UtR2fPnh1PPvlktG7dOi644IJo27ZtjB49ulSzZrWhjQABAgQIECBAgAABAgQIECBAgAABAgQIECBwIAQqOiD85JNPYtOmTbF48eLSvvHZZ58tbUVVDu7bUhIQ7pvX3p69ZMmS6N+/f7Rr1y5++tOfxrnnnlt+r6mpKet2bz/HeQQIECBAgAABAgQIECBAgAABAgQIECBAgACBfRGo6IAww8EMW7IqK1uKduzYMV555RUzB/dlhUSUdpjTp08vhocddljkKz1zX4aHts8nsGzZshgyZEhpM3r44YfHT37yk+jatWvMmjUr1q9f//k+1FUECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgXoEKjIgzMrBLVu2RFZojRkzpswczHCwW7duJdTK8GV3Mwc/++yzyOuzxWO+sh1ktW8qCOteAblWch2lz/z58yPnBy5YsCBWrFhR1l8e39O2fPny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AQIECBAgQIAAAQIECBAgQIAAAQIEDpRARQSEBwrH5xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoNAEBYaU9UfdDgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYA8CAsI94DhEgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoNIEBISV9kTdDwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIE9CAgI94DjEAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFKExAQVtoTdT8ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE9iAgINwDjkMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEKk1AQFhpT9T9ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIENiDgIBwDzgOESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKg0AQFhpT1R90OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgDwICwj3gOESAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg0gQEhJX2RN0PAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT0ICAj3gOMQAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUoTEBBW2hN1PwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgT2ICAg3AOOQwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQqTUBAWGlP1P0QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ2IOAgHAPOA4RIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqDQBAWGlPVH3Q4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAPAgLCPeA4RIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKDSBASElfZE3Q8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBPQgICPeA4xABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBShMQEFbaE3U/BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBPYgICDcA45DBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBCpNQEBYaU/U/RAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDYg4CAcA84DhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoNIH/D6JgDa8BtBiyAAAAAElFTkSuQmCC"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "再介绍一个函数，pandas的crosstab\n",
    "\n",
    "**如果crosstab只接收两个Series，它将提供一个频率表。用A的唯一值，统计B唯一值的出现次数：**\n",
    "\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 217,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "          Survived\n",
      "New_name          \n",
      "Master    0.575000\n",
      "Misc      0.444444\n",
      "Miss      0.697802\n",
      "Mr        0.156673\n",
      "Mrs       0.792000\n"
     ]
    }
   ],
   "source": [
    "print(train.loc[:,['Survived', 'New_name']].groupby('New_name').mean())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 218,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Survived    0    1\n",
      "New_name          \n",
      "Master     17   23\n",
      "Misc       15   12\n",
      "Miss       55  127\n",
      "Mr        436   81\n",
      "Mrs        26   99\n"
     ]
    }
   ],
   "source": [
    "print(pd.crosstab(train['New_name'], train['Survived']))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 根据图像分析数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 232,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 237,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 242,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib as mpl"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 244,
   "metadata": {},
   "outputs": [],
   "source": [
    "mpl.style.use('ggplot')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 245,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 1152x864 with 0 Axes>"
      ]
     },
     "execution_count": 245,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1152x864 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=[16,12])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**箱型图**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 246,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'whiskers': [<matplotlib.lines.Line2D at 0x7f04328727b8>,\n",
       "  <matplotlib.lines.Line2D at 0x7f0432872400>],\n",
       " 'caps': [<matplotlib.lines.Line2D at 0x7f0432872048>,\n",
       "  <matplotlib.lines.Line2D at 0x7f04321e4e48>],\n",
       " 'boxes': [<matplotlib.lines.Line2D at 0x7f0432872c88>],\n",
       " 'medians': [<matplotlib.lines.Line2D at 0x7f04321e4828>],\n",
       " 'fliers': [<matplotlib.lines.Line2D at 0x7f043287f240>],\n",
       " 'means': [<matplotlib.lines.Line2D at 0x7f04321e4b38>]}"
      ]
     },
     "execution_count": 246,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.subplot(231)\n",
    "plt.boxplot(x=train['Fare'], showmeans = True, meanline = True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "画图这部分功能先放一放，因为没有具体分析每个图到底怎么用，到时候还要参考别人的资料"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 数据建模"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "机器学习算法主要分为：\n",
    "\n",
    "1. 分类\n",
    "2. 聚类\n",
    "3. 降维\n",
    "4. 回归\n",
    "\n",
    "本题目的标签类型是离散的，所以选择分类算法\n",
    "\n",
    "本次将使用 decision tree，boost，bagging，random forest"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 256,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 集成方法 ensemble method\n",
    "from sklearn import ensemble\n",
    "\n",
    "# 高斯过程\n",
    "from sklearn import gaussian_process\n",
    "\n",
    "# 线性模型\n",
    "from sklearn import linear_model\n",
    "\n",
    "# 朴素贝叶斯\n",
    "from sklearn import naive_bayes\n",
    "\n",
    "# k近邻\n",
    "from sklearn import neighbors\n",
    "\n",
    "from sklearn import svm\n",
    "\n",
    "# 决策树\n",
    "from sklearn import tree\n",
    "\n",
    "# 线性判别分析模型\n",
    "from sklearn import discriminant_analysis\n",
    "\n",
    "import xgboost"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 257,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 创建一个列表，放置所有模型实例\n",
    "# machine learing algorithm\n",
    "MLA = [\n",
    "    ensemble.AdaBoostClassifier(),\n",
    "    ensemble.BaggingClassifier(),\n",
    "    ensemble.ExtraTreesClassifier(),\n",
    "    ensemble.GradientBoostingClassifier(),\n",
    "    ensemble.RandomForestClassifier(),\n",
    "    \n",
    "    gaussian_process.GaussianProcessClassifier(),\n",
    "    \n",
    "    linear_model.LogisticRegressionCV(),\n",
    "    linear_model.PassiveAggressiveClassifier(),\n",
    "    linear_model.RidgeClassifierCV(),\n",
    "    linear_model.SGDClassifier(),\n",
    "    linear_model.Perceptron(),\n",
    "    \n",
    "    naive_bayes.BernoulliNB(),\n",
    "    naive_bayes.GaussianNB(),\n",
    "    \n",
    "    svm.SVC(probability=True),\n",
    "    svm.NuSVC(probability=True),\n",
    "    svm.LinearSVC(),\n",
    "    \n",
    "    tree.DecisionTreeClassifier(),\n",
    "    tree.ExtraTreeClassifier(),\n",
    "    \n",
    "    discriminant_analysis.LinearDiscriminantAnalysis(),\n",
    "    discriminant_analysis.QuadraticDiscriminantAnalysis(),\n",
    "    \n",
    "    xgboost.XGBClassifier()\n",
    "    \n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "165px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
